"Выбрать все / отменить выбор" в SAPUI5 SelectDialog
У меня есть SAPUI5 SelectDialog. Он содержит несколько записей. Прямо сейчас UI5 предоставляет свойство для очистки всех выбранных значений, используя showClearButton="true"
Чего я хочу добиться? Я хочу реализовать аналогичную функциональность, чтобы "Выбрать все" записи в диалоге. Я знаю, что sap.m.tableSelectDialog обеспечивает это, но как я могу сделать это в SelectDialog? Возможные решения могут включать
- Флажок сверху, который говорит: "Выбрать / Отменить выбор всех"
- Кнопка в нижнем колонтитуле SelectDialog с надписью "Выбрать / Отменить выбор всех".
Любые предложения приветствуются.
1 ответ
Вариант использования SelectDialog является односторонним связыванием. Это означает, что вы добавляете в список элементов и, используя диалог в соответствующем режиме, его функция будет предоставлять вам то, что было выбрано (т.е. не для вас, чтобы манипулировать значениями флажков)
Почему бы не использовать список в диалоге (а не SelectDialog), если вы хотите добиться этого? Существует тип элемента списка, если вы связываете это соответствующим образом
<InputListItem label="Your Label">
<CheckBox selected="true" />
что может иметь для вас значение для этой цели?
Из документации:
Структура и выбор списка Поле поиска запускает поиск событий и liveChange, где функция фильтра может быть применена к привязке списка. Растущая функциональность списка не поддерживает двустороннее связывание, поэтому, если вы используете этот элемент управления с моделью JSON, убедитесь, что режим привязки установлен на OneWay, и что вы обновляете модель выбора вручную с элементами, переданными в событии подтверждения. В режиме множественного выбора диалогового окна выбора предусмотрены флажки для выбора нескольких записей. Вы можете установить для RememberSelections значение true, чтобы сохранить текущий выбор и загрузить это состояние при повторном открытии диалога. При отмене выбора происходит изменение события, и выбор восстанавливается до состояния, когда был открыт диалог.