import ParameterInput, { ParameterInputValue } from '@/components/ParameterInput'; import { action } from '@storybook/addon-actions'; import type { Meta, StoryObj } from '@storybook/react'; import { fn } from '@storybook/test'; import { Button } from 'antd'; import { useState } from 'react'; // More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export const meta = { title: 'Components/ParameterInput 参数输入框', component: ParameterInput, parameters: { // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout // layout: 'centered', }, // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs tags: ['autodocs'], // More on argTypes: https://storybook.js.org/docs/api/argtypes argTypes: { // backgroundColor: { control: 'color' }, }, // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args args: { onChange: fn() }, } satisfies Meta; export default meta; type Story = StoryObj; // More on writing stories with args: https://storybook.js.org/docs/writing-stories/args export const Input: Story = { args: { placeholder: '请输入工作目录', style: { width: 300 }, canInput: true, textArea: false, allowClear: true, size: 'large', }, }; export const Select: Story = { args: { placeholder: '请输入工作目录', style: { width: 300 }, canInput: true, size: 'large', }, render: function Render(args) { const [value, setValue] = useState(''); const onClick = () => { const value = { value: 'storybook', showValue: 'storybook', fromSelect: true, otherValue: 'others', }; setValue(value); action('onChange')(value); }; return ( <> { setValue(value); action('onChange')(value); }} > ); }, }; export const Ellipse: Story = { args: { placeholder: '请输入工作目录', style: { width: 300 }, canInput: true, size: 'large', }, render: function Render(args) { const [value, setValue] = useState(''); const onClick = () => { const value = { value: 'storybook', showValue: 'storybookstorybookstorybookstorybookstorybookstorybookstorybookstorybookstorybookstorybook', fromSelect: true, otherValue: 'others', }; setValue(value); action('onChange')(value); }; return ( <> { setValue(value); action('onChange')(value); }} > ); }, }; export const Disabled: Story = { args: { placeholder: '请输入工作目录', style: { width: 300 }, value: { value: 'storybook', showValue: 'storybook', fromSelect: true, }, canInput: true, size: 'large', disabled: true, }, };