在Ext JS 4.2中,可以通过使用组合框(ComboBox)来实现具有checklist和Select all options的功能。
组合框(ComboBox)是一个可编辑的文本框,同时也是一个下拉列表框。它可以让用户从预定义的选项中选择一个值,也可以输入自定义的值。在Ext JS 4.2中,可以通过配置组合框的模式(mode)为多选模式(multi)来实现checklist的功能。
以下是一个示例代码,展示了如何在Ext JS 4.2中创建具有checklist和Select all options的组合框:
Ext.create('Ext.form.field.ComboBox', {
fieldLabel: '选择选项',
store: ['选项1', '选项2', '选项3', '选项4', '选项5'],
queryMode: 'local',
displayField: 'text',
valueField: 'value',
multiSelect: true,
tpl: Ext.create('Ext.XTemplate',
'<tpl for=".">',
'<div class="x-boundlist-item">',
'<input type="checkbox" class="x-combo-checker"/>',
'{text}',
'</div>',
'</tpl>'
),
listeners: {
afterrender: function(combo) {
var selectAll = combo.getPicker().el.createChild({
tag: 'div',
html: '全选',
cls: 'x-boundlist-item'
});
selectAll.on('click', function() {
combo.setValue(combo.getStore().collect('value'));
});
}
},
renderTo: Ext.getBody()
});
在上述代码中,我们创建了一个组合框,并配置了以下属性:
fieldLabel
:组合框的标签文本。store
:组合框的数据源,包含了可选的选项。queryMode
:查询模式,设置为'local'表示数据源为本地。displayField
:显示字段,指定了选项的显示文本。valueField
:值字段,指定了选项的值。multiSelect
:多选模式,设置为true表示可以选择多个选项。tpl
:模板,用于自定义下拉列表中每个选项的显示方式。在模板中,我们使用了自定义的HTML结构来显示每个选项,包括一个复选框和选项的文本。通过配置multiSelect
为true,用户可以通过勾选复选框来选择多个选项。
另外,在组合框的listeners
中,我们通过创建一个额外的选项"全选",并在点击事件中将所有选项的值设置为组合框的值,实现了"Select all options"的功能。
这是一个基于Ext JS 4.2的示例,如果你想了解更多关于Ext JS的信息,可以访问腾讯云的产品介绍页面:腾讯云Ext JS。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云