Обработка onClick для флажка в заголовке CellTable

StackOverflow https://stackoverflow.com/questions/8828271

  •  27-10-2019
  •  | 
  •  

Вопрос

Я пытаюсь создать CellTable, в котором есть столбец с некоторым текстом и флажок, который будет использоваться в качестве флажка «Выбрать все» (см. рисунок ниже, флажок «cb»).В настоящее время я использую класс, производный от Header, и переопределяю его метод рендеринга для вывода текста и флажка.Я переопределяю onBrowserEvent (), однако он дает мне только события onChange, которые будут работать нормально, за исключением того, что флажок не работает правильно.Есть ли у кого-нибудь идеи по этому поводу?

родовое слово

Проблема, с которой я сталкиваюсь с флажком, заключается в том, что, когда он не установлен, вам нужно дважды щелкнуть его, чтобы появилась галочка (по крайней мере, в Chrome), даже если свойство "checked" истинно в первый раз.Одно нажатие снимает галочку правильно.

Вот код:

Настройте столбцы CellTable:

родовое слово

Мой заголовок "Выбрать все":

родовое слово
Это было полезно?

Решение

Похоже, вы визуализируете неотмеченный флажок всякий раз, когда вы визуализируете заголовок, что может стирать состояние выбора всякий раз, когда таблица ячеек повторно визуализируется.

Попробуйте сохранить отмеченное состояние и отобразить флажок с этим состоянием. Похоже, вы уже на полпути с allSelected, просто не используете его.

EDIT Вот рабочая реализация, которую я только что написал для Занаты (см. SearchResultsView.java ). Интерфейс HasValue реализован таким образом, что события изменения значения могут обрабатываться стандартным способом. Я не переопределял метод рендеринга, если вы хотите это сделать, убедитесь, что вы используете getValue(), чтобы определить, рендеринг ли вы отмечен или снят флажок. Логика выбора / отмены выбора обрабатывается в связанном классе презентатора (см. SearchResultsPresenter.java ).

родовое слово
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top