https://storybook.js.org/tutorials/intro-to-storybook/vue/zh-CN/get-started/

开始吧

  • 注释:degit 从 github 拉去代码的工具,在国内范文 github 有问题,需要手动下载这个模板npx degit chromaui/intro-storybook-vue-template taskbox
  • 注释:启动组件开发环境yarn storybook

简单组件

  • 按照组件驱动开发 (CDD)来构建我们的 UI

    • 注释:CDD 组件驱动开发,把一个页面分成边界清晰的小组件独立开发,这样更有利于提高可维护性和进行ui测试
  • 我们根据上述的草图编写测试所需的状态(state)。然后我们使用 Storybook 模拟数据并独立的构建组件。我们可以“视觉测试”组件在每个状态下的外观。
    • 创建 task 组件以及它相关的 story 文件:src/components/Task.vuesrc/components/Task.stories.js

      • 注释:7.6提供的模板,组件放在src/stories文件中
      • 注释:其中Task.stories.js用来创建不同测试状态
import Task from './Task.vue';

import { action } from '@storybook/addon-actions';

export default {
component: Task,
// Our exports that end in "Data" are not stories.
excludeStories: /.*Data$/,
title: 'Task',
// Our events will be mapped in Storybook UI
argTypes: {
onPinTask: {},
onArchiveTask: {},
},
}; export const actionsData = {
onPinTask: action('pin-task'),
onArchiveTask: action('archive-task'),
}; const Template = args => ({
components: { Task },
setup() {
return { args, ...actionsData };
},
template: '<Task v-bind="args" />',
});
export const Default = Template.bind({});
Default.args = {
task: {
id: '1',
title: 'Test Task',
state: 'TASK_INBOX',
},
}; export const Pinned = Template.bind({});
Pinned.args = {
task: {
...Default.args.task,
state: 'TASK_PINNED',
},
}; export const Archived = Template.bind({});
Archived.args = {
task: {
...Default.args.task,
state: 'TASK_ARCHIVED',
},
};

storybook 7.6的更多相关文章

  1. storybook实践

    很久之前就听说过storybook,一直想实践一下

  2. storybook配置之基本配置和webpack配置

    默认配置 Storybook有一个默认的适合(suits)大型项目开发的webpack配置,假如你使用react app,他类似于创建一个react app的配置,并经过调整(tweaked ),使其 ...

  3. storybook构建vue组件

    最近在研究业务型组件的使用,因为在单独开发组件的时候需要调试,所以为每一个组件都编写一个webpack开发环境,然后上传上去为了其他人可以直接使用又把webpack上传上去,这样会有两个问题: 1:每 ...

  4. 手动建立storybook

    1. Add @storybook/react npm i --save-dev @storybook/react 2. Add react, react-dom, and babel-core np ...

  5. [React Storybook] Get started with Storybook for React

    Storybook is a UI component development environment for React, Vue, and Angular. With that, you can ...

  6. UI_DEV_Environment 之 StoryBook

    写在前面 由于本文主要集中关注与工具使用,所以不可能完全介绍工具的所有功能,所以要想了解更多,可以自己去各自官方网站上查看. github examples 什么是UI开发环境 UI开发环境专注于用户 ...

  7. 加薪攻略之UI组件库实践—storybook

    目录 加薪攻略之UI组件库实践-storybook 一.业务背景 二.选用方案 三.引入分析 项目结构 项目效果 四.实现步骤 1.添加依赖 2.添加npm执行脚本 3.添加配置文件 4.添加必要的w ...

  8. Storybook 最新教程

    Storybook 最新教程 Storybook is the most popular UI component development tool for React, Vue, and Angul ...

  9. 使用react搭建组件库:react+typescript+storybook

    前期准备 1. 初始化项目 npx create-react-app react-components --template typescript 2. 安装依赖 使用哪种打包方案:webpack/r ...

  10. 2017 年值得一瞥的 JavaScript 相关技术趋势

    跨年前两天,Dan Abramov在Twitter上提了一个问题: JS社区毫不犹豫的抛出了它们对于新技术的预期与期待,本文内容也是总结自Twitter的回复,按照流行度降序排列.有一个尚未确定的小点 ...

随机推荐

  1. Springboot层级关系以及作用

    entity entity是实体层,与model,pojo相似,是存放实体的类,类中定义了多个类属性,并且与数据库表的字段保持一致,一张表对应了一个entity类.主要用于定于与数据库对象对应的属性, ...

  2. nodejs的服务器,用ffmpeg推流

    http://m.zhizuobiao.com/node/node-19061200018/ ffmpeg -list_devices true -f dshow -i dummyffmpeg -f ...

  3. 解决SpringMVC/SpringBoot @RequestBody无法注入基本数据类型

    我们都知道SpringMVC使用 @RequestBody 注解可以接收请求content-type 为 application/json 格式的消息体.但是我们必须使用实体对象,Map或者直接用St ...

  4. cpu亲和性相关函数和宏 基础讲解[cpu_set_t]

    cpu亲和性相关函数和宏讲解: 写在前面: 我在查找关于linux cpu宏函数没看到有对宏函数基础的.详细的讲解,笔者便通过官方文档入手,对次进行的翻译和理解希望能帮到对这方面宏有疑惑的读者 exp ...

  5. 【TypeScript】Re01

    参考视频: https://www.bilibili.com/video/BV14Z4y1u7pi JS已有类型: 基础类型 number / string / boolean / null / un ...

  6. 【Java】API 时区ID类

    主要是用以获取时区ID @Test void contextLoads() { ZoneId zoneId = ZoneId.systemDefault(); // System.out.printl ...

  7. Meta公司的Llama3大语言模型

    Github地址: https://github.com/meta-llama/llama3 官方介绍: https://ai.meta.com/blog/meta-llama-3/ 官方项目主页: ...

  8. 【转载】人工智能CAE仿真分析技术

    原文: https://cloud.tencent.com/developer/news/628731 AI与CAE相结合 CAE的本质是对复杂工程问题通过合理简化建立数学模型,并根据输入求得输出.深 ...

  9. 国产的huggingface —— modelscope

    国产的huggingface: https://www.modelscope.cn/

  10. jax中对单步操作的缓存对性能造成的影响

    代码: import jax.numpy as jnp from jax import grad, jit, vmap from jax import random def selu(x, alpha ...