【问题标题】:Why should I use goog.ui.Checkbox instead of a regular input?为什么我应该使用 goog.ui.Checkbox 而不是常规输入?
【发布时间】:2014-05-21 19:17:05
【问题描述】:

Google 闭包提供了一个自定义复选框组件,它似乎会产生开销来呈现一个简单的复选框。为什么值得使用它?

我大量使用 Google 闭包框架,我想知道使用这些输入替换组件是否有意义。

答案还可以扩展为解释是否也应将 text 输入替换为 goog.ui.Textarea。

【问题讨论】:

    标签: javascript input rendering semantics google-closure


    【解决方案1】:

    您不必这样做。但有时您可能想要使用它,因为 goog.ui.CheckBox 具有树状态:CHECKED、UNCHECKED、UNDETERMINED,而普通复选框只有两种状态。

    【讨论】:

      【解决方案2】:

      我自己得出了答案:两者都很好,取决于它们的用途。所有这些谷歌关闭的自定义输入都有一个共同点:它们扩展goog.ui.Control。这个组件对于处理状态非常有用:disabledhoveractivefocused。这意味着以下事情:

      1. 如果您只是为新的数据库记录创建表单,那么使用这些组件毫无意义。这是矫枉过正。接收数据的简单输入甚至可以通过邮寄方式发送(goog.ui.Control 本身无法做到这一点)。
      2. 如果您要创建一个处理事件和/或状态的动态网络界面,最好使用goog.ui.Control,因为它已经处理了这些事件并且它能够处理一些默认事件和状态更改处理它的祖先/后代。

      这里唯一的例外是如果您将goog.ui.Controls 与表单输入混合在一起,并且您想要统一的用户体验。在这种情况下,您必须使用样式表或牺牲其中任何一个的复杂性/维护。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-05-23
        • 1970-01-01
        • 2018-05-10
        • 2014-03-12
        • 2012-12-13
        • 2013-11-07
        • 1970-01-01
        相关资源
        最近更新 更多