前一段时间,在Apache Flex项目中,我们已经开始将MDL库移植到FlexJS框架中。 [1]
当我处理Toast组件时,我遇到了一个问题,即删除" mdl-snackbar__action" HTML按钮导致错误。似乎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
谢谢, 彼得
答案 0 :(得分:0)
我认为这是因为快餐栏和烤面包是作为HTML / CSS中的单个组件实现的。这样,应用程序可以通过包含或省略传递给showSnackbar方法的数据对象的与操作相关的部分来抛出任一类型。
通过使其更灵活,减少库中组件的数量。