3

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

谢谢,彼得

4

1 回答 1

0

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

这只是通过使组件更灵活来减少库中组件的数量。

于 2017-03-16T02:15:16.893 回答