0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Vue.js の Storybook で args に型を指定

Last updated at Posted at 2022-09-17

Vue.js の Storybook で args に型を指定

Vue.js の .stories.ts ファイル内で argsany になっていたので対応してみました。

追記

You can type check SFC files with vue-tsc and get editor support in VSCode by installing the Vue Language Features (Volar) and TypeScript Vue Plugin extensions.

2 つの拡張と @storybook/vue3 を使用することにより
.stories.ts ファイル内でも Vue コンポーネントの型が確認できるようになっていたようです。

初期設定

以下の手順により Vue.js のプロジェクト設定と Storybook 設定を実施

yarn create vite . --template vue-ts
yarn
npx sb init --builder @storybook/builder-vite

設定後、 src/stories/Button.stories.js ファイルの拡張子を .ts に変更

ここで Button.stories.ts ファイルを開くと args など any になってしまっています。

image

対応内容

以下が対応内容となります。

Storybook の args の型について #1

  • .stories.ts ファイル内で Storybook 用の型指定
  • コンポーネントのスクリプトを .ts ファイルに分離

.stories.ts ファイル内で Storybook 用の型指定

上記 Issue での回答を参考に型指定を実施

ただし、この状態だとコンポーネントの型が取得できていませんでした。

コンポーネントのスクリプトを .ts ファイルに分離

以下はコンポーネントの型取得について参考にした Issue です。

今回対応した PR では前述の .stories.ts 内での型指定の手順と前後しているのですが、
.stories.ts 内でコンポーネントの型を取得するためにスクリプト部分を分離しました。

SFC とは・・・

Nuxt を使用する場合か、そのバージョンによってはコンポーネント側で拡張子を指定する必要があるかもしれません。

<script lang="ts" src="./Button.ts"></script>

対応の結果

対応により型が指定され argsTypeargs でのサジェストが出るようになりました。

image

image

image

もしかしたら別に正しい方法があるのかもしれません。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?