如何在 Extjs 4.1 中隐藏一个下拉框中的选项?

6
我有一个下拉框,类似于 http://jsfiddle.net/8jnRR/
这是我的storeenter image description here
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个回答

6

看看这个修改后的 fiddle http://jsfiddle.net/jdflores/8jnRR/1/。 它使用了 store 的过滤器配置。 我包含了一个函数来判断 record.data.value 是否小于 100:

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

请看这里 http://jsfiddle.net/98xEq/ 我想要隐藏项目 :( alert(stored.find('value', 100)); // 100不存在 - DeLe
store.find() 不起作用,因为该项已不再是 store 的一部分。如果需要访问该项,您需要调用 store.clearFilter()。 - player
1
不确定你想要实现什么。你能详细解释一下你的问题吗?在访问该项后,您始终可以重新应用过滤器。 - player
4
queryBy方法不受过滤器的影响,所以您可以找到即使被过滤掉的记录。请看:http://jsfiddle.net/jdflores/98xEq/1/ - Juan Daniel Flores

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