Пустое значение в сетке с выпадающим списком, когда принудительное выделение истинно - PullRequest
0 голосов
/ 10 июля 2019

Я получил комбоокс в сетке редактора.При вводе значений я должен проверить, поэтому я использовал свойство forceSelection: true .Но включение выбора силы поднимает еще одну проблему, так как значение поля со списком остается пустым, когда поле со списком теряет фокус, как показано на рисунке ниже.

Blank value

Пример кода:

var employeeType = [{
    'typeid': 1,
    'typename': 'Contractor'
}, {
    'typeid': 1,
    'typename': 'Regular'
}];

var employeeTypeStore = Ext.create('Ext.data.Store', {
    fields: ['typeid', 'typename'],
    data: employeeType
});

Ext.define('Employees', {
    extend: 'Ext.data.Model',
    fields: [{
            name: 'emptype',
            type: 'string'
        }, {
            name: 'name',
            type: 'string'
        },

    ]
});

var empStore = Ext.create('Ext.data.Store', {
    model: 'Employees',
    data: [{
        'emptype': 'Regular',
        'name': 'John Doe'
    },{
        'emptype': 'Regular',
        'name': 'Ricky'
    },{
        'emptype': 'Regular',
        'name': 'Mason'
    }]
});

var grid = Ext.create('Ext.grid.Panel', {
    renderTo: Ext.getBody(),
    store: empStore,
    width: 1000,
    height: 500,
    title: 'Employees',
    columns: [{
        text: 'Employee Type',
        dataIndex: 'emptype',
        editor: {
            xtype: 'combobox',
            queryMode: 'local',
            store: employeeTypeStore,
            displayField: 'typename',
            valueField: 'typeid',
            forceSelection : true
        }
    }, {
        text: 'Employee Name',
        dataIndex: 'name'

    }],
    plugins: {
        ptype: 'cellediting',
        clicksToEdit: 1

    }

});

Если значение равно false, мне нужно показать последнее правильное значение.

1 Ответ

0 голосов
/ 11 июля 2019

Ожидаемое поведение.

Настройка forceSelection: true ограничит пользователя в выборе значения, которое присутствует только в списке. Поэтому, если вы потеряете фокус, не выбрав какой-либо элемент, он исчезнет.

Вы можете использовать typeAhead: true для заполнения и автоматического выбора остальной части набираемого текста, если она соответствует известному значению.

...