4

有没有办法在不创建 js 模型(ExtJS 4.1)的情况下将商店绑定到 ExtJS ComboBox?
要填充用户组合框,我总是需要先设置模型?我想为每个组合框跳过以下代码:

Ext.define('User',{extend:'Ext.data.Model',idProperty:'Id',fields:['Id','Name']});
4

4 回答 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
    }]
});
于 2012-06-19T12:15:37.627 回答
2

我发现创建具有两个字段 id、name 的简单模型很有用,然后在预定义值列表的所有静态存储(我用于组合框)上使用此模型。

于 2012-06-18T17:25:00.970 回答
2

如果您使用 Architect,您可以在 ComboBox 的 store 属性中指定一个数组。如果您只想要一个静态的“标题”组合框,则没有必要创建额外的商店和模型。

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

ps 为了将存储属性更改为 Architect 中的本地数组,您需要选择存储文本左侧的小图标并将其更改为数组而不是存储。 在此处输入图像描述

于 2013-07-04T14:28:05.657 回答
1

在 Extjs 中的任何情况下,您都不需要在商店中设置模型。设置商店的字段属性。

http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.AbstractStore-cfg-fields

此外,请考虑本地数据的 store 的 data 属性。

http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Store-property-data

于 2012-06-18T18:36:45.360 回答