我尝试创建一个简单的ComboBox:
var combo1 = new Ext.form.ComboBox({
store: [1,2,3],
renderTo: document.body
});
但是以这种方式书写它的行为很奇怪:
我将我的代码与Ext主页上的samples进行了比较,发现添加triggerAction: "all"
解决了我的问题:
var combo2 = new Ext.form.ComboBox({
triggerAction: "all",
store: [1,2,3],
renderTo: document.body
});
triggerAction
的ExtJS文档并没有告诉我很多:
单击触发器时要执行的操作。 使用'all'运行allQuery指定的查询 配置选项(默认为'查询')
我没有指定allQuery选项。实际上,我根本不想对服务器执行查询。
那么triggerAction
真正做到了什么?
当我想要一个简单的静态组合框时,我真的应该把它设置为"all"
吗?
答案 0 :(得分:22)
选择项目后,将过滤列表以匹配当前文本值。在您的情况下,它始终是所选的值,但对于多字符值更明显(请参阅Ext中的状态名称示例)。如果删除所选值,则下拉列表将返回到具有所有值。 triggerAction:'all'
表示不过滤,始终显示所有值。