树型选择 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()
参数 | 类型 | 默认值 | 数据流向 | 描述 |
---|---|---|---|---|
data | object | 绑定属性 | ||
data.source | object[] | [] | outer <=> inner | 数据源 |
data.source[].name | string | outer => inner | 每项的内容 | |
data.source[].disabled | boolean | false | outer => inner | 禁用此项 |
data.source[].divider | boolean | false | outer => inner | 设置此项为分隔线 |
data.selected | object | null | outer <=> inner | 当前选择项 |
data.placeholder | string | '请选择' | outer => inner | 默认项的文字 |
data.hierarchical | boolean | false | outer @=> inner | 是否分级动态加载,需要service |
data.readonly | boolean | false | outer => inner | 是否只读 |
data.disabled | boolean | false | outer => inner | 是否禁用 |
data.visible | boolean | true | outer => inner | 是否显示 |
data.class | string | '' | outer => inner | 补充class |
service | object | outer @=> inner | 数据服务 |
Inherited Methods
treeSelect.select(item)
选择某一项
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
item | object | 选择项 | |
返回值 | 类型 | 描述 | |
无返回值 |
treeSelect.toggle(open)
展开/收起
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
open | boolean | 展开/收起状态。如果无此参数,则在两种状态之间切换。 | |
返回值 | 类型 | 描述 | |
无返回值 |
treeSelect.select(item)
选择某一项
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
item | object | 选择项 | |
返回值 | 类型 | 描述 | |
无返回值 |
@deprecated treeSelect.$updateSource()
从service中更新数据源
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
无参数 | |||
返回值 | 类型 | 描述 | |
this | SourceComponent |
Inherited Events
treeSelect.$on('change')
选择项改变时触发
属性 | 类型 | 描述 |
---|---|---|
sender | object | 事件发送对象 |
selected | object | 改变后的选择项 |
key | string | 数据项的键 |
value | string number | 改变后的选择值 |
treeSelect.$on('select')
选择某一项时触发
属性 | 类型 | 描述 |
---|---|---|
sender | object | 事件发送对象 |
selected | object | 当前选择项 |
treeSelect.$on('toggle')
展开/收起时触发
属性 | 类型 | 描述 |
---|---|---|
sender | object | 事件发送对象 |
open | object | 展开/收起状态 |
treeSelect.$on('select')
选择某一项时触发
属性 | 类型 | 描述 |
---|---|---|
sender | object | 事件发送对象 |
selected | object | 当前选择项 |