列表视图 ListView
示例
基本形式
<listView source={source} />
var component = new RGUI.Component({
template: template,
data: {
source: [
{name: '选项1'},
{name: '选项2'},
{name: '选项3'}
]
}
});
禁用某一项,禁用组件
<div class="g-row">
<div class="g-col g-col-6">
<listView source={source} />
</div>
<div class="g-col g-col-6">
<listView source={source} disabled />
</div>
</div>
var component = new RGUI.Component({
template: template,
data: {
source: [
{name: '选项1'},
{name: '选项2'},
{name: '选项3(禁用)', disabled: true}
]
}
});
分隔线
<listView source={source} />
var component = new RGUI.Component({
template: template,
data: {
source: [
{name: '选项1'},
{name: '选项2'},
{divider: true},
{name: '选项3(禁用)', disabled: true}
]
}
});
多选
<listView source={source} multiple />
var component = new RGUI.Component({
template: template,
data: {
source: [
{name: '选项1'},
{name: '选项2'},
{divider: true},
{name: '选项3(禁用)', disabled: true},
{name: '选项4'},
{name: '选项5'}
]
}
});
远程数据
<listView service={@(this.service)} />
var component = new RGUI.Component({
template: template,
service: {
getList: function(params, success) {
RGUI.ajax.request({
url: '../data/list.json',
method: 'get',
type: 'json',
data: params,
success: success
});
}
}
});
单项模板自定义
<listView source={source} itemTemplate={@(this.itemTemplate)} />
var component = new RGUI.Component({
template: template,
itemTemplate: RGUI._.multiline(function(){/*
<div>
<span class="number">{item_index + 1}.</span>
<span class="title">{item.name}</span>
<span class="hits f-fr">{item.hits}</span>
</div>
*/}),
data: {
source: [
{name: '精通Javascript开发', org: '前端Funs', hits: 42371},
{name: 'Android深入浅出', org: 'Android学院', hits: 30645},
{name: 'cocos2dx游戏开发教程', org: '鱼C课程', hits: 25112},
{name: 'MySQL数据库', org: 'LAMP兄弟连', hits: 18089},
{name: 'Arduino初级教程', org: '硬件社', hits: 16361}
]
}
});
API
Class
ListView
继承自SourceComponent。
Options
new ListView()
参数 | 类型 | 默认值 | 数据流向 | 描述 |
---|---|---|---|---|
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.source[].selected | boolean | false | outer => inner | 多选时此项是否选中 |
data.selected | object | null | outer <=> inner | 当前选择项。多选时无效。 |
data.multiple | boolean | false | outer => inner | 是否可以多选 |
data.itemTemplate | string | null | outer @=> inner | 单项模板 |
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 | 数据服务 |
Methods
listView.select(item)
选择某一项
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
item | object | 选择项 | |
返回值 | 类型 | 描述 | |
无返回值 |
Inherited Methods
@deprecated listView.$updateSource()
从service中更新数据源
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
无参数 | |||
返回值 | 类型 | 描述 | |
this | SourceComponent |
Events
listView.$on('select')
选择某一项时触发
属性 | 类型 | 描述 |
---|---|---|
sender | object | 事件发送对象 |
selected | object | 当前选择项 |