Почему я должен использовать goog.ui.Checkbox вместо обычного ввода?
Закрытие Google предлагает пользовательский компонент-флажок, который, по-видимому, создает накладные расходы для отображения простого флажка. Почему стоит его использовать?
Я интенсивно использую среду закрытия Google, и мне было интересно, имеет ли смысл использовать эти компоненты замены ввода.
Ответ может быть расширен, чтобы также объяснить, следует ли заменить текстовый ввод на goog.ui.Textarea.
2 ответа
Я пришел к ответу сам: оба хороши в зависимости от их использования. Все эти пользовательские входы закрытия Google имеют что-то общее: они расширяются goog.ui.Control
, Этот компонент очень полезен для обработки состояний: disabled
, hover
, active
а также focused
, Это означает следующее:
- Если вы просто создаете форму для новой записи в базе данных, не имеет смысла использовать эти компоненты. Это излишество. Простой вход, который получает данные, может быть даже отправлен по почте (
goog.ui.Control
не может сделать это самостоятельно). - Если вы создаете динамический веб-интерфейс, который обрабатывает события и / или состояния, гораздо лучше использовать
goog.ui.Control
учитывая, что он уже обрабатывает эти события и способен обрабатывать некоторые события и изменения состояния по умолчанию вместе со своими восходящими / потомками.
Единственное исключение здесь, если у вас есть смесь goog.ui.Control
с формами ввода, и вы хотите унифицированный пользовательский опыт. В этом случае вы должны поиграть с таблицами стилей или пожертвовать сложностью / поддержкой для любого из них.
Вам не нужно. Но иногда вы можете захотеть его использовать, поскольку goog.ui.CheckBox имеет древовидные состояния: CHECKED, UNCHECKED, UNDETERMINED, в то время как простой флажок имеет только два состояния.