# taro-slid-ruler
**Repository Path**: coder_trapall/taro-slid-ruler
## Basic Information
- **Project Name**: taro-slid-ruler
- **Description**: 使用react taro实现的滑动刻度尺子
- **Primary Language**: JavaScript
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2021-12-01
- **Last Updated**: 2023-01-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 介绍
这是一个基于react和taro编写的滑动尺子组件。
## 预览(请使用手机预览)
http://106.55.183.185:80/taro-slid-ruler/#/
#### 兼容平台
* 微信小程序
* h5端
#### 使用示例
```tsx
export default class index extends Component<{}, _State> {
state:_State = {
value: 1,
slidRuleController: new SlidRuleController({
ruler: Array.from(Array(10000).keys()),
onChange: (value)=>this.onChange(value),
value: 1,
precision: 1,
})
}
onChange(detail: SlidRuleDetail){
this.setState({
value: detail.value
})
}
render() {
return (
{
this.state.slidRuleController.setValue(this.state.value - 1)
}}>-
value: {this.state.value}
{
this.state.slidRuleController.setValue(this.state.value + 1)
}}>+
)
}
}
```
#### 属性列表
| 属性 | 默认值 | 类型 | 是否必传 | 备注 |
| :------: | :-----: | :-------: | :------:| :---- |
| rulur | [] | number[] | 是| 尺子中最大刻度的数组 |
| value | | number | 是 | ruler对应的值 |
| containerWidth | 可视宽度 | number | 否 | 容器宽度 |
| minScaleWidth | 20 | number | 否 | 最小刻度的宽度 |
| normalLineColor | #44CD8D | string | 否 | 标准线条颜色 |
| normalLineHeight | 50 | number | 否 | 标准线条高度 默认50;(单位:px) |
| scaleLineColor | #E4E4E4 | string | 否 | 正常刻度颜色 |
| precision | 1 | number | 否 | 最小精度 默认为1,也就是需要保留的小数位 |
| onChange | | (value: SlidRuleDetail)=>void | 是 | value值变化的函数 |
#### SlidRuleDetail类型
| 属性 | 类型 | 描述 |
| :----: | :----: | :----- |
| value | number | value值 |
| valueString | string | value值,对应的是可显示的string,例如:01,value对应的是1,而 valueString对应的是01。 |