ExtJS ComboBox 模型

4
有没有一种方法可以在不创建 js 模型的情况下将 store 绑定到 ExtJS ComboBox(ExtJS 4.1)?想要填充用户下拉框,是否必须首先设置模型?我想跳过为每个下拉框编写以下代码:
Ext.define('User',{extend:'Ext.data.Model',idProperty:'Id',fields:['Id','Name']});
4个回答

3

你说得对,尼尔!
我找到了如何使用它:

var myStore = Ext.create('Ext.data.Store',{
    fields:['Id','Name'],
    data:[
        {Id:0,Name:'Yes'},
        {Id:1,Name:'No'},
        {Id:2,Name:'Maybe'}
    ]
});

var pnl = Ext.create('Ext.panel.Panel', {
    xtype: 'panel',
    title: 'My Panel',
    items: [{
        id:'cboField1'
        xtype:'combobox',
        fieldLabel:'My Field',
        displayField:'Name',
        valueField:'Id',
        queryMode:'local',
        store: myStore
    }]
});

3

如果您正在使用Architect,可以在ComboBox的store属性中指定一个数组。如果您只想要一个静态的“标题”ComboBox,那么创建额外的store和model是没有意义的。

xtype:'combo',
fieldLabel:'Title',
name:'division',
queryMode:'local',
store:['Mr','Mrs','Ms'],
displayField:'title',
autoSelect:true,
forceSelection:true

PS:在Architect中将存储属性更改为本地数组,您需要选择存储文本左侧的小图标,并将其从存储更改为数组。

enter image description here

2

我发现创建一个只包含两个字段(id、名称)的简单模型很有用,在所有静态存储(我用于下拉框的存储)中使用该模型,其中值列表是预定义的。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接