uxcore-pickable
Version:
uxcore-pickable component for uxcore.
110 lines (87 loc) • 3.55 kB
Markdown
---
## uxcore-pickable [](https://david-dm.org/uxcore/uxcore-pickable) [](https://david-dm.org/uxcore/uxcore-pickable#info=devDependencies)
## TL;DR
uxcore-pickable ui component for react
#### setup develop environment
```sh
$ git clone https://github.com/uxcore/uxcore-pickable
$ cd uxcore-pickable
$ npm install
$ gulp server
```
## Usage
```js
const classnames = require('classnames');
const Pickable = require('uxcore-pickable');
const {Item} = Pickable;
class Demo extends React.Component {
constructor(props) {
super(props);
this.state = {
value: [1]
}
}
handleChange(value) {
this.setState({
value: value
})
}
render() {
let items = [{
text: '条件一',
value: 1,
num: 15
}, {
text: '条件二',
value: 2,
num: 20
}, {
text: '条件三',
value: 3,
disable: true
}];
return <div>
<div>
<Pickable onChange={this.handleChange.bind(this)} value={this.state.value}>
{items.map((item, index) => {
return <Item key={index} value={item.value} number={item.num} disabled={item.disable}>{item.text}</Item>
})}
</Pickable>
</div>
<div>
<Pickable onChange={this.handleChange.bind(this)} value={this.state.value} type="simple">
{items.map((item, index) => {
return <Item key={index} value={item.value} number={item.num} disabled={item.disable}>{item.text}</Item>
})}
</Pickable>
</div>
</div>;
}
};
module.exports = Demo;
```
## demo
http://uxco.re/components/pickable/
## API
* values(): 获得选中的值
## Props
| 配置项 | 类型 | 必填 | 默认值 | 功能/备注 |
|---|---|---|---|---|
|prefixCls|string|optional|kuma-pickable|类名前缀,不使用 kuma 主题时使用|
|className|string|required|-|增加额外的class|
|onChange|func(value, changedKeys)|optional|-|选中情况变化时触发,返回选中的项,以及目前发生变动的值|
|multiple|bool|optional|true|是否多选|
|max|number|optional|99|最大显示的数字,超过 max,显示 max+,2.0 版本后此项废弃,改为传入 children 时实现。|
|type|string|optional|normal|样式风格,可选值为 `normal`, `simple`, `hook`, `simpleHook`|
|enableFold|bool|optional|false|是否启用折行后自动折叠, 3.0 版本后支持|
|defaultfoldItems|bool|optional|true|是否在折行的情况下默认折叠, 3.0 版本后支持|
|maxLines|number|optonal|1|超过几行的情况下使用折叠, 3.0 版本后支持|
|locale|string|optional|zh-cn|国际化,zh-cn/en-us, 3.0 版本后支持|
|simpleValueInSingleMode|bool|optional|false|单选时,输出和接收的值变成简单的值类型,而非数组,从 [1] 变成 1|
## Item Props
| 配置项 | 类型 | 必填 | 默认值 | 功能/备注 |
|---|---|---|---|---|
|value|string/number|required|-|该 Item 对应的值|
|disabled|boolean|optional|false|是否禁用|
|number|number|optional|-|number 有值时会显示对应的值,2.0 版本后此项废弃,改为传入 children 时实现。|
|max|number|optional|99|最大显示的数字,超过 max,显示 max+,2.0 版本后此项废弃,改为传入 children 时实现。|