material-design-lite - 为什么 MDL Toast 需要 mdl-snackbar__action 按钮?

标签 material-design-lite flexjs

前一段时间,在 Apache Flex 项目中,我们已经开始将 MDL 库移植到 FlexJS 框架中。 [1]

当我在处理 Toast 组件时,我遇到了一个问题,即从 HTML 中删除“mdl-snackbar__action”按钮会导致错误。如果 snackbar 操作不存在,snackbar.js [2] 似乎会抛出错误。

 if (!this.actionElement_) {
      throw new Error('There must be an action element for a snackbar.');
    }

我的问题是 - 为什么在 Toast 的情况下需要这个元素? Toast 组件不需要它。

[1] https://cwiki.apache.org/confluence/display/FLEX/Table+Of+Components

[2] https://github.com/google/material-design-lite/blob/release/src/snackbar/snackbar.js

谢谢, 彼得

最佳答案

我认为这是因为 snackbar 和 toast 在 HTML/CSS 中作为单个组件实现的。这样,应用程序可以通过包含或省略传递给 showSnackbar 方法的数据对象的操作相关部分来抛出任何一种类型。

只是为了减少库中的组件数量,使组件更加灵活。

关于material-design-lite - 为什么 MDL Toast 需要 mdl-snackbar__action 按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41386706/

相关文章:

material-design-lite - 如何单独升级一个元素及其所有子元素

javascript - 具有行详细信息的自适应网格

javascript - "FLEX JS"可以像js插件一样使用吗

material-design-lite - Material Design Lite 旋转木马

javascript - MDL 选项卡的 "Tab Rendered"事件

angularjs - 如何使 Angular Material 表具有响应性