乐闻世界logo
搜索文章和话题

How can I add style prop as control in Storybook?

1个答案

1

Adding style controls in Storybook first requires understanding that Storybook is an open-source tool for building UI components and isolating them for development and testing. It supports multiple frontend frameworks, including React, Vue, and Angular. Adding style controls in Storybook can be achieved through the following steps:

Step 1: Install necessary dependencies

Ensure Storybook is installed. Then, depending on your project's framework (e.g., React), you may need to install additional dependencies. For instance, for a React project, you might use @storybook/addon-controls to add style controls.

bash
npm install @storybook/addon-controls --save-dev

Step 2: Configure Storybook

Next, configure Storybook in the .storybook/main.js file to use addon-controls.

javascript
module.exports = { stories: ['../src/**/*.stories.js'], addons: ['@storybook/addon-controls'], };

Step 3: Use Controls to Adjust Styles

In your component's Storybook file (typically with a .stories.js or .stories.jsx extension), you can add a control to dynamically adjust styles. For example, the following is a simple React component and its Storybook configuration, including style controls:

javascript
// Button.js export const Button = ({ background, color, children }) => { return ( <button style={{ backgroundColor: background, color: color }}> {children} </button> ); }; // Button.stories.js import React from 'react'; import { Button } from './Button'; export default { title: 'Example/Button', component: Button, argTypes: { background: { control: 'color' }, color: { control: 'color' }, }, }; const Template = (args) => <Button {...args} />; export const Primary = Template.bind({}); Primary.args = { children: 'Press me', background: '#ff0', color: '#333', };

Example

In this example, the argTypes object defines which props should be presented as controllable by the Storybook Controls plugin. Here, we define that the background and color properties should be controlled via a color picker. This allows developers or designers using Storybook to dynamically change the button's background and text colors in real-time to view different styling effects.

Conclusion

By following these steps, you can add style controls to components in Storybook, making visual testing and adjustments more intuitive and convenient. This is very helpful for maintaining design consistency and enabling rapid iteration during development.

2024年6月29日 12:07 回复

你的答案