@riil-frontend/component-select-for-opration
v1.0.1-a.2
Published
变体选择器
Downloads
23
Readme
SelectForOperation 添加选项的选择器
select-for-opration
这是继承自Select选择器的变体,除了下面定义的相关属性外,其他的API属性继承与Select。SelectForOperation默认支持通过文本框添加和编辑选项,默认支持对选项的删除。可支持对其他操作项的扩展。
dataSourse的使用
SelectForOpration主要支持props中传入dataSource作为数据源。
注意:1、默认支持对选项的操作项悬浮显示,因此需要dataSource须包含boolean字段operation
值为true。2、key值的使用同Select的默认设置。3、添加数据项时默认label和value值相同。
const dataSource = [
{label:'option1', value:'option1'},
{label:'option2', value:'option2'},
{label:'operation',value:'operation' ,operation:true}
]
<SelectForOperation dataSource={dataSource}/>
API
| 参数名 | 说明 | 必填 | 类型 | 默认值 | 备注 |
| -------- | ------------------------ | ---- | ---- | ------ | ---- |
| value | 当前值,用于受控模式(同Select选择器) | - | any | - | - |
| onChange | Select发生改变时触发的回调签名:Function(value: mixed, actionType: String, item: mixed) => void参数:value: {mixed} 选中的值actionType: {String} 触发的方式, 'itemClick', 'enter', 'tag'item: {mixed} 选中的值的对象数据 (useDetailValue=false有效) | - | Function | - | - |
| dataSort | 默认选择器添加数据显示下拉菜单的位置可选值:true:显示在下拉菜单第一条false:自定义显示下拉菜单的位置只针对添加类型为input类型有效 | - | boolean | true | 自定义时,saveOption,deleteOption,value,onChange需要填写,如果有扩展操作,相关的回调函数需要填写 |
| addType |添加数据项的形式可选值:'input':文本框'drawer':抽屉|-|String|'input'|-|
| editType |编辑数据项的形式可选值:'input':文本框'drawer':抽屉|-|String|'input'|-|
| dataSource |数据源,同Select选择器|是|Array<Object/Boolean/Number/String>|-|显示操作列需要设置operation字段为true|
| saveOption |添加项保存的方法签名:Function(e:Event, operation:boolean ,type:String ,item: Object)=>void参数:e:{Event}DOM事件对象,返回文本框的值operation:{boolean}返回为 true,用于判断悬浮显示操作项type:{String}返回操作类型,'add'为添加,'edit'为编辑item:{Object}当前操作选项值对象,添加时null|-|Function|-|-|
| deleteOption |删除选项的方法签名:Function(e:Event,item:Object)=>void参数:e:{Event}DOM事件对象item:{Object}当前删除项的值对象|-|Function|-|-|
| openDrawer |打开抽屉的方法签名:Function(isOpen:boolean,type:String,item:Object)=>void参数:isOpen:{boolean}返回truetype:{String}:'add'表示添加时打开抽屉,'edit'表示编辑时打开抽屉item:{Object}当前操作选项值对象,添加时为null|-|Function|-|-|
| operationItem |扩展添加操作项数组类型,元素为对象,包含两个字段,第一个为node:{ReactNode}
为操作项;第二个为func:{Functon}
类型,为回调函数回调函数签名:(e:Event,item:Object)=>void参数:e:{Event}DOM事件对象item:{Object}当前操作选项值对象|-|Array|null|[{node:,func:()=>{}},]|
| validator |校验文本框的方法签名:Function(val:String,e:Event,type:String)=>String/null参数:val:{String}当前需要校验的文本框值e:{Event}DOM事件对象type:{String}校验的类型,'add'为添加,'edit'为编辑返回值:{String/null},返回校验信息,必须有返回值,有校验提示返回校验信息,没有提示返回null或者空字符串|-|Function|-|-|
| addItemSort |添加按钮的位置可选值:'first':添加按钮在下拉菜单的第一项'last':添加按钮在下拉菜单的 最后一项|-|String|'first'|-|
| className |下拉菜单的样式名|-|String|'itemlist'||
| style |选择器样式|-|Object|-|{width:300}|
| popupStyle |下拉菜单的样式|-|Object|-|{width:300}|
| mode |选择器模式可选值:'single', 'multiple'|-|String|'single'|-|
| isOperation |添加项是否需要悬浮显示操作按钮|-|boolean|true|-|