如何隐藏组合中的项目 - Extjs 4.1

Posted

技术标签:

【中文标题】如何隐藏组合中的项目 - Extjs 4.1【英文标题】:How to Hide a item in combo - Extjs 4.1 【发布时间】:2013-07-23 05:40:11 【问题描述】:

我有一个像 http://jsfiddle.net/8jnRR/

这样的组合框

这是我的store

var stored = new Ext.data.SimpleStore(
      fields: [ "value", "text" ],
      data: [
        [ 0, "Online0" ],
        [ 1, "Online1" ],
        [ 2, "Online2" ]
        ,[ 100, "Hide" ] // how to hide this item
      ]
    );

我想隐藏一个值为 100 以上的项目。怎么做,非常感谢

【问题讨论】:

【参考方案1】:

看看这个修改过的小提琴http://jsfiddle.net/jdflores/8jnRR/1/ 它使用商店的过滤器配置。我包含了一个函数来确定 record.data.value 是否小于 100:

filters: [function(record, id)
    return (record.data.value < 100);
],

【讨论】:

看这里jsfiddle.net/98xEq我想隐藏项目:( alert(stored.find('value', 100)); // 100 不存在 好吧,store.find() 将不起作用,因为该项目不再是商店的一部分。如果您需要访问该项目,则需要调用 store.clearFilter() 不确定,您要达到什么目的。你能再解释一下你的问题吗?访问项目后,您始终可以重新应用过滤器 queryBy 方法不受过滤器的影响,因此即使被过滤掉也可以找到记录。看一看:jsfiddle.net/jdflores/98xEq/1

以上是关于如何隐藏组合中的项目 - Extjs 4.1的主要内容,如果未能解决你的问题,请参考以下文章

Extjs 4.1 - 如何等待组合中的所有商店被加载

Extjs 4.1 如何选择组合中的第一项

ExtJS 4.1:如何在组合框中设置预选项目?

如何在 extjs 4.1 中使用包含图像的组合

在 ExtJs 4.1 TreePanel 中隐藏一个节点

extjs 4.1 如何在 xtemplate 中显示编号和项目符号