首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Storybook中旋钮和控件有什么区别?

在Storybook中旋钮和控件有什么区别?
EN

Stack Overflow用户
提问于 2020-12-29 12:20:17
回答 2查看 3.4K关注 0票数 6

我是第一次接触这本故事书。当我浏览关于故事书的文档和视频时,我读到了关于旋钮插件的内容。旋钮插件和控件看起来很相似。这两件事有什么不同?

EN

回答 2

Stack Overflow用户

发布于 2021-01-25 17:54:02

控件是在Storybook版本6中引入的。它们在大多数用例中取代了旋钮。但是,如果您仍然希望对动态值使用旋钮,则可能存在某些边缘情况。例如,请参阅Github关于此主题的讨论:https://github.com/storybookjs/storybook/issues/11984

票数 5
EN

Stack Overflow用户

发布于 2021-06-02 13:20:28

controls插件是docs addon的一个伴生插件,所以它与ArgsTable接口,这个插件本身就是设计用来自动提取组件的propTypes & defaultProps的(尽管我发现这不起作用)

因此,使用Knobs你可以自己手动定义每个道具(你希望它是动态的),当你的组件改变时,这需要更多的手动同步,也需要更多的工作,而且Knobs变量定义可能分散在你的故事文件中,其中controls都定义在一个地方,尽管Knobs也可以完成相同的“顺序”,但它不强制执行它(有很好的理由)。

如果您想要为您的组件提供交互式 propTypes文档,那么我建议将controlsaddon-docs一起使用,我已经使用knobs多年了,但仅此而已,是时候升级了。

如果,由于某些原因,你的组件的propTypes没有被自动检测到(在故事中),那么你可以这样定义(用控件):

代码语言:javascript
运行
AI代码解释
复制
import Alert from './';

export default {
    title: 'General/Alert',
    component: Alert,
    parameters: {
        controls: { expanded: true }, // Show full documentation for each property
    },
    argTypes: {
        type: {
            description: 'Alert.Types',
            defaultValue: Alert.Types.WARNING,
            table: {
                type: {
                    summary: 'string',
                },
                defaultValue: {
                    summary: Alert.Types.WARNING,
                },
            },
            options: Alert.Types,
            control: {
                type: 'select', // for selecting between the array of options above
            },
        },

        title: {
            defaultValue: '',
            table: {
                type: {
                    summary: 'string',
                },
            },
            description: 'An optional title',
            control: {
                type: 'text',
            },
        },

        onClose: {
            table: {
                type: {
                    summary: 'func',
                },
            },
            description: '× button click callback',
            control: { type: null },
        },

        children: {
            description: 'The message body (mandatory)',
            type : {
                required: true,
            },
            table: {
                type: {
                    summary: 'node',
                },
            },
            control: { type: null },
        },
    },
}

//...export your story...

备注:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65492043

复制
相关文章
【点滴】在 promise 中 then 和 finally 有什么区别
看上去 promise.prototype.then() 和 promise.prototype.finally 似乎非常相似。但是你需要明白它们有一些重要的差异。
疯狂的技术宅
2021/04/01
2.4K0
JavaScript 中 == 和 === 有什么区别?
双等号(==) 符号检查松散相等,而三等号(===) 符号检查严格相等。不同之处在于 (==) 松散相等将在进行比较之前尝试通过类型强制解析数据类型,而 (===) 严格相等将在数据类型不同时返回 false。下面我来给大家一些例子以便更好地理解它们。
海拥
2022/04/13
1K0
php中的<?= ?>和<?php ?>有什么区别么?
大家好,又见面了,我是全栈君。 <? ?>是短标签 <?php ?>是长标签 在php的配置文件(php.ini)中有一个short_open_tag的值,开启以后可以使用PHP的短标签:<? ?>
全栈程序员站长
2022/07/11
1.3K0
.Net中Finalize()和Dispose()有什么区别?
Finalize自动释放资源,Dispose()用于手动释放资源。 释放类所使用的未托管资源的两种方式: 1.利用运行库强制执行的析构函数,但析构函数的执行是不确定的,而且,由于垃圾收集器的工作方式,它会给运行库增加不可接受的系统开销。 2.IDisposable接口提供了一种机制,允许类的用户控制释放资源的时间,但需要确保执行Dispose()。 一般情况下,最好的方法是执行这两种机制,获得这两种机制的优点,克服其缺点。假定大多数程序员都能正确调用Dispos
程序你好
2018/07/20
1.5K0
MyBatis配置中的#{}和${}有什么区别?
前几天,一位应届生去面试,被问到一个MyBatis中比较基础的问题,说MyBatis中的#号和$符号有什么区别?今天,我给大家来详细介绍一下。
Tom弹架构
2022/08/22
2.9K0
MyBatis配置中的#{}和${}有什么区别?
Java 中 CycliBarriar 和 CountdownLatch 有什么区别?
CyclicBarrier和CountDownLatch都是Java中常用的多线程同步工具,它们主要用来协调多个线程之间的行为,以便达到某种共同目标。虽然它们有一些相似之处,但在应用场景和使用方法上也存在着比较明显的区别。
用户1289394
2023/08/22
1900
Java 中 CycliBarriar 和 CountdownLatch 有什么区别?
TypeScript 中 type 和 interface 有什么区别?
大家好,我是前端西瓜哥,今天我们来看看 type 和 interface 的区别。
前端西瓜哥
2022/12/21
6640
Java中SynchronizedMap 和 ConcurrentHashMap有什么区别?
Java 中 SynchronizedMap 和 ConcurrentHashMap 都是线程安全的 Map 实现。它们通过不同的锁机制来保证多线程情况下对 Map 的操作正确性和并发性。
用户1289394
2023/08/22
3020
Java中SynchronizedMap 和 ConcurrentHashMap有什么区别?
【说站】java中&和&&有什么区别
1、&&只要有一个条件不一样就是不满足,如果第一个条件就是不满足就不判断后面的条件。而&要对所有的条件都进行判断。
很酷的站长
2022/11/24
6940
【说站】java中&和&&有什么区别
Android中Aop和Apt有什么区别?
AOP指的是:面向切面编程(Aspect-Oriented Programming)。如果说,OOP如果是把问题划分到单个模块的话,那么AOP就是把涉及到众多模块的某一类问题进行统一管理。
乱码三千
2021/07/29
1.4K0
Android中Aop和Apt有什么区别?
在 Linux 中如何强制停止进程?kill 和 killall 命令有什么区别?
在日常工作中,您会遇到两个用于在 Linux 中强制结束程序的命令;kill和killall。
网络技术联盟站
2022/04/02
3.6K0
在 Linux 中如何强制停止进程?kill 和 killall 命令有什么区别?
常见Java面试题 在Queue中poll()和remove()有什么区别?
poll() 和 remove() 都是从队列中取出一个元素,但是 poll() 在获取元素失败的时候会返回空,但是 remove() 失败的时候会抛出异常。
红目香薰
2022/11/28
5050
【DB笔试面试525】在Oracle中,行链接和行迁移有什么区别?
当一行的数据过长而不能存储在单个数据块中时,可能发生两种事情:行链接(Row Chaining)或行迁移(Row Migration)。
AiDBA宝典
2019/09/29
1.1K0
MySQL中的float和decimal类型有什么区别
decimal 类型可以精确地表示非常大或非常精确的小数。大至 1028(正或负)以及有效位数多达 28 位的数字可以作为 decimal类型存储而不失其精确性。该类型对于必须避免舍入错误的应用程序(如记账)很有用。
全栈程序员站长
2022/07/08
2.4K0
JavaScript 中的 Var,Let 和 Const 有什么区别
在ES5中,顶层对象的属性和全局变量是等价的,用var声明的变量既是全局变量,也是顶层变量
@超人
2021/07/05
1.1K0
JavaScript 中的 Var,Let 和 Const 有什么区别
c ++中的cout和std :: cout有什么区别?
cout和std::cout都相同,但是唯一的区别是,如果我们使用cout,则必须在程序中使用命名空间std,或者如果您不使用std命名空间,则应该使用std::cout。
自学气象人
2023/06/20
2.9K0
c ++中的cout和std :: cout有什么区别?
Node.js中CommonJS和ECMAScript有什么区别?
Node.js 既支持 CommonJS 标准,也完全支持 ECMAScript 标准。Node.js 环境下用 js语言编写的文件,有三种格式:.js、.mjs、.cjs。
Learn-anything.cn
2021/11/26
1.1K0
Controller中的请求,private和public有什么区别?
最近,在公司 CodeReview 会上,我给众多同事布置了“家庭作业”。Controller 中的请求方法,通常我们都是 public 的,如果是 private 的、protected 的行不行,为什么?
公众号 IT老哥
2022/12/17
1.8K0
Controller中的请求,private和public有什么区别?
Idea中的war和war explore有什么区别
war模式:先打成war包,然后再发布到Tomcat的ROOT下,所以选择这个后,你再看下你的tomcat的root文件夹下,是刚打成的项目
全栈程序员站长
2022/07/01
9600
点击加载更多

相似问题

react storybook加载项旋钮未显示

40

如何使用Storybook的旋钮在模板中动态插入组件

122

使用Redux在React Hooks应用程序中添加Storybook旋钮

113

为什么Storybook的数组旋钮在更改内容时没有更新?

143

如何重用Storybook的Component Story Format (CSF)中的旋钮?

248
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文