Extjs: очистить выбор в селекторе элементов - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть селектор элементов с доступными пользователями и назначенными пользователями в виде двух разных столбцов. При щелчке по любому пользователю из доступных пользователей и выборе другого пункта меню выбранный пользователь из столбцов доступных пользователей по-прежнему отображается. Как очистить выбор при нажатии на другое меню?

Вот как выглядит экран с выбором под определенным меню:

enter image description here

И вот снова выбор после выбора другого меню: enter image description here

Я попытался получить доступ к store и clearValue () и setValue (''), что не является правильным решением, и я не смог получить доступ к selecitonModel для выполнения clearSelections () здесь.

Как очистить выборки при нажатии меню?

Буду очень признателен за вашу помощь, большое спасибо.

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Вы можете использовать метод getSelectionModel().deselectAll() «Представления пользователей» (которое вы хотите отменить выбор) в слушателе select из «Представления ролей». Это приведет к тому, что все выбранные записи пользователя будут удалены при выборе другого меню. См. Документы: getSelectionModel , deselectAll .

Пример:

{
    xtype: 'dataview',
    .
    .
    .

    listeners: {
        select: function(dataview, record, index, eOpts){
            dataview.view.up('viewport').down('#usersView').getSelectionModel().deselectAll();
        }
    }
}

Внутри слушателя он выполняет метод отмены выбора всех записей из целевого представления.

Эти методы обычно встречаются в компонентах, имеющих поведение выбора, таких как grid.

См. Эту скрипку: Отменить выбор элементов DataView .

0 голосов
/ 02 ноября 2018
store.removeAll();

это то, что вы ищете

...