前一段时间,在 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/