【问题标题】:Tagfield selection focus issue in ExtJS 6ExtJS 6 中的标签字段选择焦点问题
【发布时间】:2015-12-18 07:22:15
【问题描述】:

Tagfield 中的 emptyText 存在问题 ExtJS 6. 中的焦点。设置 emptyText 会破坏选取器焦点管理中的某些内容,并防止选取器在标记字段失去焦点时被关闭。

这个弹出修复有什么解决方法吗?

请找小提琴Glitch in tagfield when using emptyText config

【问题讨论】:

    标签: extjs extjs5 extjs6 extjs6-classic


    【解决方案1】:

    我发现即使没有设置emptyText config,问题依然存在,说明这是picker焦点的普遍问题。如果您单击文本输入,然后单击下拉菜单,您可以关闭选择器。作为一种解决方法,您可以通过收听expand 事件来强制选择器的焦点。下面的代码演示了这种变化:

    {
        xtype: 'tagfield',
        fieldLabel: 'Select states',
        store: {
            type: 'states'
        },
        emptyText: 'Select...',
        displayField: 'state',
        valueField: 'abbr',
        filterPickList: true,
        queryMode: 'local',
        listeners: {
            expand: function (field) {
                field.getPicker().focus();
            }
        }
    }
    

    【讨论】:

    • 我检查了您的解决方案,它工作正常..Thanks for solution 我有一些与此修复相关的小观察... 1) 单击外部标签字段关闭下拉弹出窗口,但字段仍保持焦点 2 ) 键盘 TAB 遍历功能在这种情况下不起作用
    • 我似乎没有遇到您的第一个问题。至于第二个,当您配置 emptyText 并且与我提供的解决方案无关时,选项卡功能似乎正在中断。除了添加一个监听 tab keydown 事件并强制输入焦点的 hack 之外,我不知道该怎么做。
    • 我还观察到输入字段的一些焦点问题,因为我们正在聚焦选择器。当您开始输入内容时,文本输入会失去对选择器的焦点。