如何将数组绑定到 arrystore 以填充 extjs 中的组合

发布于 2024-10-31 20:58:50 字数 711 浏览 1 评论 0原文

我有数组,因为

var cars = new Array('audi','benz','citron','nissan','alto');

我想将此数据添加到 arraystore,如下所示

 var myStore = new Ext.data.ArrayStore({
        data   : cars ,
        fields : ['names']
    });

在将此数组存储绑定到组合时

 var myCombo = new Ext.form.ComboBox({
        store: myStore ,
        displayField: 'name',
        valueField: 'name',
        typeAhead: true,
        mode: 'local',
        forceSelection: true,
        triggerAction: 'all',
        emptyText: 'Select a state...',
        selectOnFocus: true,

    });

组合仅显示数组中每个单词的第一个字母为 a、b、c、n、a

我如何正确显示我使用的 arry 的组合是以编程方式填充的,然后绑定到 arraystore

I am having array as

var cars = new Array('audi','benz','citron','nissan','alto');

I want to add this data to arraystore like below

 var myStore = new Ext.data.ArrayStore({
        data   : cars ,
        fields : ['names']
    });

On Binding this array store to combo

 var myCombo = new Ext.form.ComboBox({
        store: myStore ,
        displayField: 'name',
        valueField: 'name',
        typeAhead: true,
        mode: 'local',
        forceSelection: true,
        triggerAction: 'all',
        emptyText: 'Select a state...',
        selectOnFocus: true,

    });

The combo is showing only first letter of each word in the array as a, b, c, n, a

How can I properly disply the combo as the arry i am using is is populated programatically and then binding to arraystore

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

似梦非梦 2024-11-07 20:58:50

或者,如果您只是将数组作为存储配置传递,这也将起作用(假设是最新版本):

new Ext.form.ComboBox({
    store: ['Audi', 'Benz', 'Citron', 'Nissan', 'Alto']
});

请注意,如果是这种情况,您不需要指定 displayField/valueField 。

Alternatively, if you just pass the array as the store config, that will also work (assuming a recent version):

new Ext.form.ComboBox({
    store: ['Audi', 'Benz', 'Citron', 'Nissan', 'Alto']
});

Note you don't need to specify displayField/valueField if this is the case.

℡寂寞咖啡 2024-11-07 20:58:50

ArrayStore 消耗的数据格式是数组的数组。按如下方式重新格式化您的商店数据应该可以使其正常工作:

var cars = [['audi'], ['benz'], ['citron'], ['nissan'], ['alto']];

从您的格式转换为所需的格式非常简单:

for ( var i = 0, c = cars.length; i < c; i++ ) {
    cars[i] = [cars[i]];
}

The format of data the ArrayStore consumes is an array of arrays. Reformatting your store data as follows should allow it to work:

var cars = [['audi'], ['benz'], ['citron'], ['nissan'], ['alto']];

Converting from your format to the required format is simple enough:

for ( var i = 0, c = cars.length; i < c; i++ ) {
    cars[i] = [cars[i]];
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文