树型选择 TreeSelect

示例

基本形式

<treeSelect source={source} />
var component = new RGUI.Component({
    template: template,
    data: {
        source: [
            {name: '节点1', children: [
                {name: '节点1.1'},
                {name: '节点1.2', children: [
                    {name: '节点1.2.1'},
                    {name: '节点1.2.2'}
                ]},
                {name: '节点1.3'},
                {name: '节点1.4'},
            ]},
            {name: '节点2'},
            {name: '节点3', children: [
                {name: '节点3.1'},
                {name: '节点3.2'}
            ]}
        ]
    }
});

禁用组件

<treeSelect source={source} disabled />
var component = new RGUI.Component({
    template: template,
    data: {
        source: [
            {name: '节点1', children: [
                {name: '节点1.1'},
                {name: '节点1.2', children: [
                    {name: '节点1.2.1'},
                    {name: '节点1.2.2'}
                ]},
                {name: '节点1.3'},
                {name: '节点1.4'},
            ]},
            {name: '节点2'},
            {name: '节点3', children: [
                {name: '节点3.1'},
                {name: '节点3.2'}
            ]}
        ]
    }
});

远程数据

<treeSelect service={@(this.service)} />
var component = new RGUI.Component({
    template: template,
    service: {
        getList: function(params, success) {
            RGUI.ajax.request({
                url: '../data/tree.json',
                method: 'get',
                type: 'json',
                data: params,
                success: success
            });
        }
    }
});

分级加载

<treeSelect service={@(this.service)} hierarchical />
var component = new RGUI.Component({
    template: template,
    service: {
        getList: function(params, success) {
            RGUI.ajax.request({
                url: '../data/tree2.json',
                method: 'get',
                type: 'json',
                data: params,
                success: success
            });
        }
    }
});

API

Class

TreeSelect

继承自Select2

Options

new TreeSelect()

参数类型默认值数据流向描述
dataobject绑定属性
data.sourceobject[][]outer <=> inner数据源
data.source[].namestringouter => inner每项的内容
data.source[].disabledbooleanfalseouter => inner禁用此项
data.source[].dividerbooleanfalseouter => inner设置此项为分隔线
data.selectedobjectnullouter <=> inner当前选择项
data.placeholderstring'请选择'outer => inner默认项的文字
data.hierarchicalbooleanfalseouter @=> inner是否分级动态加载,需要service
data.readonlybooleanfalseouter => inner是否只读
data.disabledbooleanfalseouter => inner是否禁用
data.visiblebooleantrueouter => inner是否显示
data.classstring''outer => inner补充class
serviceobjectouter @=> inner数据服务

Inherited Methods

treeSelect.select(item)

选择某一项

参数类型默认值描述
itemobject选择项
返回值类型描述
无返回值

treeSelect.toggle(open)

展开/收起

参数类型默认值描述
openboolean展开/收起状态。如果无此参数,则在两种状态之间切换。
返回值类型描述
无返回值

treeSelect.select(item)

选择某一项

参数类型默认值描述
itemobject选择项
返回值类型描述
无返回值

@deprecated treeSelect.$updateSource()

从service中更新数据源

参数类型默认值描述
无参数
返回值类型描述
thisSourceComponent

Inherited Events

treeSelect.$on('change')

选择项改变时触发

属性类型描述
senderobject事件发送对象
selectedobject改变后的选择项
keystring数据项的键
valuestring
number
改变后的选择值

treeSelect.$on('select')

选择某一项时触发

属性类型描述
senderobject事件发送对象
selectedobject当前选择项

treeSelect.$on('toggle')

展开/收起时触发

属性类型描述
senderobject事件发送对象
openobject展开/收起状态

treeSelect.$on('select')

选择某一项时触发

属性类型描述
senderobject事件发送对象
selectedobject当前选择项