UNPKG

zarm

Version:

基于 React 的移动端UI库

103 lines (87 loc) 4.61 kB
# Stepper 步进器 ## 基本用法 ```jsx import { useState } from 'react'; import { List, Stepper } from 'zarm'; const Demo = () => { const [value, setValue] = useState(1); return ( <List> <List.Item title="普通" suffix={ <Stepper value={value} onChange={setValue} onInputChange={(value) => { console.log('onInputChange:', value); }} /> } /> <List.Item title="设置默认值" suffix={<Stepper defaultValue={2} />} /> <List.Item title="设置上下限(-3 ~ 3)" suffix={<Stepper min={-3} max={3} />} /> <List.Item title="设置步长" suffix={<Stepper step={5} />} /> <List.Item title="步长小数" suffix={<Stepper type="price" step={0.12} defaultValue={0.9} max={2.0} min={1} />} /> <List.Item title="禁用状态" suffix={<Stepper disabled />} /> <List.Item title="禁用输入" suffix={<Stepper disableInput />} /> </List> ); }; ReactDOM.render(<Demo />, mountNode); ``` ## 多形状 ```jsx import { List, Stepper } from 'zarm'; ReactDOM.render( <List> <List.Item title="直角" suffix={<Stepper shape="rect" />} /> <List.Item title="圆形" suffix={<Stepper shape="circle" />} /> </List>, mountNode, ); ``` ## 多尺寸 ```jsx import { List, Stepper } from 'zarm'; ReactDOM.render( <List> <List.Item title="大号" suffix={<Stepper size="lg" />} /> </List>, mountNode, ); ``` ## API | 属性 | 类型 | 默认值 | 说明 | | :------------ | :-------------------------------- | :------- | :------------------------------------------------ | | shape | string | 'radius' | 形状,可选值 `rect`, `radius`, `circle` | | size | string | 'md' | 大小,可选值 `md`、`lg` | | type | string | 'text' | 输入类型,可选值 `text``number``price``tel` | | value | number | - || | defaultValue | number | - | 初始值 | | min | number | - | 最小值 | | max | number | - | 最大值 | | step | number | 1 | 步长 | | disabled | boolean | false | 是否禁用 | | disableInput | boolean | false | 是否禁用输入框 | | onInputChange | (value: number \| string) => void | - | 输入值变化时触发的回调函数 | | onChange | (value: number \| string) => void | - | 值变化时触发的回调函数 | ## CSS 变量 | 属性 | 默认值 | 说明 | | :------------------- | :------------------------------ | :----------------- | | --height | '28px' | 步进器高度 | | --input-width | '56px' | 步进器的输入框宽度 | | --input-background | 'transparent' | 输入框背景色 | | --input-border-width | '1px' | 输入框边框宽度 | | --input-border-color | 'transparent' | 输入框边框颜色 | | --input-border-radius | 'var(--za-radius-md)' | 输入框圆角尺寸 | | --input-text-color | 'var(--za-color-text)' | 输入框文本颜色 | | --input-font-size | 'var(--za-font-size-md)' | 输入框字体大小 | | --input-disabled-text-color | 'var(--za-color-text-disabled)' | 输入框禁用数字颜色 | | --input-disabled-opacity | 'var(--za-opacity-disabled)' | 输入框禁用不透明度 | | --input-margin | '0 4px' | 输入框水平外间距 | | --input-padding | '0 8px' | 输入框水平内间距 | | --icon-font-size | '12px' | 步进器图标大小 |