0.0.9 • Published 5 years ago

@alicd/crui-tree-select-field v0.0.9

Weekly downloads
-
License
ISC
Repository
gitlab
Last release
5 years ago

category: Components type: UI Views component: Form chinese: 树形下拉框 english: TreeSelectField

source: next-tree-select

类似 SelectField 的选择控件,可选择的数据结构是一个树形结构时,可以使用 TreeSelect,例如公司层级、学科系统、分类目录等等。

API

TreeSelectField

参数说明类型默认值
prefix样式类名的品牌前缀String'next-'
className自定义类名String-
style自定义内联样式Object-
size选择框大小可选值:'small', 'medium', 'large'Enum'medium'
shape选择框形状可选值:'normal', 'arrow-only'Enum'normal'
value(受控)当前值String/Array<String>-
defaultValue(非受控)默认值String/Array<String>null
onChange选中值改变时触发的回调函数签名:Function(value: String/Array, data: Object/Array) => void参数:value: {String/Array} 选中的值,单选时返回单个值,多选时返回数组data: {Object/Array} 选中的数据,包括 value, label, pos, key属性,单选时返回单个值,多选时返回数组,父子节点选中关联时,同时选中,只返回父节点Function() => {}
children树节点ReactNode-
placeholder选择框占位符String-
disabled是否禁用Booleanfalse
hasArrow是否显示右侧的箭头Booleantrue
hasClear是否显示清空按钮,该按钮可以清空当前选中的值,该属性仅在单选模式下有效Booleanfalse
autoWidth下拉框是否与选择器对齐Booleanfalse
dataSource数据源,该属性优先级高于 childrenArray<Object>-
defaultVisible初始下拉框是否显示Booleanfalse
showSearch是否显示搜索框Booleanfalse
onSearch在搜索框中输入时触发的回调函数签名:Function(keyword: String) => void参数:keyword: {String} 输入的关键字Function() => {}
multiple是否支持多选Booleanfalse
treeCheckable下拉框中的树是否支持勾选节点的复选框Booleanfalse
treeCheckStrictly下拉框中的树勾选节点复选框是否完全受控(父子节点选中状态不再关联)Booleanfalse
treeDefaultExpandAll下拉框中的树是否默认展开所有节点Booleanfalse
treeDefaultExpandedKeys下拉框中的树默认展开节点key的数组Array<String>[]
treeLoadData下拉框中的树异步加载数据的函数,使用请参考Tree的异步加载数据Demo签名:Function(node: ReactElement) => void参数:node: {ReactElement} 被点击展开的节点Function-
popupClassName下拉框样式自定义类名String-
container下拉框挂载的容器节点String/Function-
labellabel 标签的文本ReactNode-
labelCollabel 标签布局,通 <Col> 组件,设置 span offset 值,如 {span: 8, offset: 16},该项仅在垂直表单有效Object-
compact多选状态(multipletrue)时,以单行形式展示已选项,用来避免空间较窄且已选项较多时出现的样式问题。booleanfalse
help提示信息,如不设置,则会根据校验规则自动生成. 如果设置会受控(ps: 可以利用这点自定义错误位置,详细看demo自定义错误)ReactNode-
validateStatus校验状态,如不设置,则会根据校验规则自动生成可选值:'''success'(成功)'error'(失败)'loading'(校验中)Enum-
hasFeedback配合 validateStatus 属性使用,是否展示校验状态图标, 目前只有Input支持Booleanfalse
wrapperCol需要为输入控件设置布局样式时,使用该属性,用法同 labelColObject-
extra额外的提示信息,和 help 类似,当需要错误信息和提示文案同时出现时,可以使用这个。 位于错误信息后面ReactNode-
inputStyle表单输入框自定义内联样式Object/Stringnull
showValidateType应用于Field 类元素后,指定其展示错误的方式,可选值有 helptooltip 两种Stringhelp
namewalle 模式下才支持 可以配合表单Form 收集表单元素的数据,要求表单必须指定 field 属性String''
ruleswalle 模式下才支持 配置表单规则,可以配置多个规则,可参考:async-validator,注意Form 表单必须配置field 属性才会生效Arraynull
x-bindwalle 模式下才支持 双向绑定某一个变量statenull

TreeSelect.Node

参数说明类型默认值
prefix样式类名的品牌前缀String-
className自定义类名String-
style自定义内联样式Object-
children树节点ReactNode-
label节点文本内容ReactNode'---'
value节点值,全局唯一,必须设置String-
key键,必须设置String-
selectable单独设置是否支持选中,覆盖Tree的selectableBoolean-
disabled是否禁止节点响应Booleanfalse
disableCheckbox是否禁止勾选节点复选框Booleanfalse
isLeaf是否是叶子节点,设置loadData时生效Booleanfalse

dataSource数据结构

const dataSource = [{
    label: '服装',
    value: '1',
    selectable: false,
    children: [{
        label: '男装',
        value: '2',
        children: [{
            label: '外套',
            value: '4',
            disableCheckbox: true
        }, {
            label: '夹克',
            value: '5',
            disabled: true
        }]
    }, {
        label: '女装',
        value: '3',
        children: [{
            label: '裙子',
            value: '6'
        }]
    }]
}];