如何防止在ExtJs Sencha标签字段上一次选择多个标签?

问题描述

如何防止在ExtJs Sencha标签字段上一次选择多个标签?我也只希望选择一个,并且一旦选择了该元素即可保持选中状态。当我设置 multiSelect:false 时,如果我向控件中插入新元素,则会收到错误消息。

这只是摆弄例子。如果您按Shift键,则可以选择多个。我只想选择一个

    Ext.application({
    name : 'fiddle',launch : function() {
        var shows = Ext.create('Ext.data.Store',{
            fields: ['id','show'],data: [
                {id: 1,show: 'Tag 1'},{id: 2,show: 'Tag 2'},{id: 3,show: 'Tag 3'}
            ]
        });

        Ext.create('Ext.window.Window',{
            //renderTo: Ext.getBody(),title: 'Tagfield Test',height: 200,width: 500,layout: 'fit',items: [{
                xtype: 'tagfield',fieldLabel: 'Pick a tag',store: shows,displayField: 'show',valueField: 'id',queryMode: 'local',filterPickList: true,minWidth: 300,maxWidth: 200,maxHeight: 10
            }]
        }).show();
    }
});

https://fiddle.sencha.com/#view/editor&fiddle/38o7

Two tags selected at the same time

解决方法

在标签字段上添加配置...

multiSelect:虚假

https://docs.sencha.com/extjs/7.2.0/classic/Ext.form.field.Tag.html#cfg-multiSelect

,

呈现tagField后更改选择模型模式:

Ext.application({
    name : 'Fiddle',launch : function() {
        var shows = Ext.create('Ext.data.Store',{
            fields: ['id','show'],data: [
                {id: 1,show: 'Tag 1'},{id: 2,show: 'Tag 2'},{id: 3,show: 'Tag 3'}
            ]
        });

        Ext.create('Ext.window.Window',{
            //renderTo: Ext.getBody(),title: 'Tagfield Test',height: 200,width: 500,layout: 'fit',items: [{
                xtype: 'tagfield',fieldLabel: 'Pick a tag',store: shows,displayField: 'show',valueField: 'id',queryMode: 'local',filterPickList: true,minWidth: 300,maxWidth: 200,maxHeight: 10,// Change selection model mode after render.
                listeners: {
                    afterrender: function(tagField) {
                        tagField.selectionModel.setSelectionMode('SINGLE');
                    }
                }
            }]
        }).show();
    }
});

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...