【问题标题】:ExtJS : Combobox value not loaded second timeExtJS:第二次未加载组合框值
【发布时间】:2015-05-12 12:47:49
【问题描述】:

这个combobox 正在弹出。当我第一次打开弹出窗口时,combobox 中存在一个值。但是,当我关闭弹出窗口并再次打开它时,我无法看到 combobox 中的值。

这里是代码

xtype : 'combobox',                                 

store : new Ext.data.ArrayStore({
    fields : ['id', 'value'],
    data   : data.splice(4, 1000),
}),

queryMode     : 'local',
valueField    : 'id',
displayField  : 'value'

为了显示弹出窗口,我使用popup.show()。要关闭它,我使用popup.close()。我试过popup.destroy(),但没用

【问题讨论】:

  • 您能发布弹出窗口的完整代码吗?这似乎不包含任何错误,除了不需要实例化存储的事实之外,您可以直接将对象数组传递给store属性
  • @3rgo 问题仅存在于此代码中,只需进行一些尝试并发现如果我使用data:data 一切正常。但是当我使用这种拼接方法时,它不允许我加载再次组合
  • 我没有发布答案,因为我不知道这种行为背后的原因

标签: extjs combobox extjs4 extjs4.1 extjs4.2


【解决方案1】:

data.splice(4, 1000) 看起来不正确。如果你看拼接参数说明

array.splice(index,howmany,item1,.....,itemX) index - 一个整数,指定添加/删除项目的位置,使用负值指定距离数组末尾的位置

howmany - 要删除的项目数。如果设置为 0,则不会删除任何项目

对于您给定的代码data.splice(4, 1000),您将在第 4 个位置添加任何项目,并删除 1000 个项目。

来源:http://www.w3schools.com/jsref/jsref_splice.asp

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    • 2021-07-01
    • 1970-01-01
    • 2020-01-13
    • 2012-10-08
    • 1970-01-01
    相关资源
    最近更新 更多