【发布时间】:2014-05-21 19:17:05
【问题描述】:
Google 闭包提供了一个自定义复选框组件,它似乎会产生开销来呈现一个简单的复选框。为什么值得使用它?
我大量使用 Google 闭包框架,我想知道使用这些输入替换组件是否有意义。
答案还可以扩展为解释是否也应将 text 输入替换为 goog.ui.Textarea。
【问题讨论】:
标签: javascript input rendering semantics google-closure
Google 闭包提供了一个自定义复选框组件,它似乎会产生开销来呈现一个简单的复选框。为什么值得使用它?
我大量使用 Google 闭包框架,我想知道使用这些输入替换组件是否有意义。
答案还可以扩展为解释是否也应将 text 输入替换为 goog.ui.Textarea。
【问题讨论】:
标签: javascript input rendering semantics google-closure
您不必这样做。但有时您可能想要使用它,因为 goog.ui.CheckBox 具有树状态:CHECKED、UNCHECKED、UNDETERMINED,而普通复选框只有两种状态。
【讨论】:
我自己得出了答案:两者都很好,取决于它们的用途。所有这些谷歌关闭的自定义输入都有一个共同点:它们扩展goog.ui.Control。这个组件对于处理状态非常有用:disabled、hover、active 和 focused。这意味着以下事情:
goog.ui.Control 本身无法做到这一点)。goog.ui.Control,因为它已经处理了这些事件并且它能够处理一些默认事件和状态更改处理它的祖先/后代。这里唯一的例外是如果您将goog.ui.Controls 与表单输入混合在一起,并且您想要统一的用户体验。在这种情况下,您必须使用样式表或牺牲其中任何一个的复杂性/维护。
【讨论】: