【问题标题】:Bug in ExtJS 6 tagfieldExtJS 6 标记字段中的错误
【发布时间】:2024-05-29 11:30:02
【问题描述】:

我创建了一个fiddle,它演示了这个错误。问题是标签字段忽略了minChars 属性 - 当您第一次关注该字段时,您可以看到对服务器的请求,这不应该发生。我对组合框做了同样的事情,一切都很好。这是我的代码:

    Ext.create("Ext.form.field.Tag", {
        renderTo: "test",
        minChars: 999, //ignored, even though is documented
        enableKeyEvents: true,
        displayField: "text",
        valueField: "id",
        queryMode: "remote",
        autocomplete: "off",
        fieldLabel: "tagfield",
        store: {
            autoLoad:false,
            fields:[{name:'id'},{name:'text'}],
            proxy:{
                type:'ajax',
                url:'getData.php'

            }

        }
    });

    Ext.create("Ext.form.field.ComboBox", {
        renderTo: "test2",
        minChars: 999,
        enableKeyEvents: true,
        displayField: "text",
        valueField: "id",
        queryMode: "remote",
        autocomplete: "off",
        fieldLabel: "combo",
        store: {
            autoLoad:false,
            fields:[{name:'id'},{name:'text'}],
            proxy:{
                type:'ajax',
                url:'getData.php'

            }

        }
    });

请注意组合框和标签字段中的minChars 的记录相似([1][2]):

minChars : 数字

在自动完成和 typeAhead 激活之前用户必须输入的最少字符数。

那么,我该如何修复这个错误呢?

【问题讨论】:

  • 你应该向senchas论坛报告
  • 我知道,他们也监控 SO。所以,我希望他们会重视它。
  • @Evan Trimboli 。谢谢你,先生!不过,这似乎具有误导性。似乎如果将 minChars 设置为某个值,那么无论其他属性如何,都应该遵守此属性。
  • 但是,在组合框的情况下,此属性的行为类似于触发点击行为

标签: javascript extjs


【解决方案1】:

您需要根据组合框过滤结果的方式设置 triggerAction:'all' 或 triggerAction:'query' 配置选项。

【讨论】: