如何使用 Material Design 风格的 Snackbar 添加按钮

阅读时长 8 分钟读完

Snackbar 是一种轻量级的用户提示控件,在 Android Material Design 中扮演着非常重要的角色。Snackbar 能够在应用程序底部显示简短消息,以轻松向用户提供有关应用程序的状态和反馈。这是一种更好的替代方案,例如弹出框和 Toast 消息,因为它不会打断用户的工作流程。本文将介绍如何使用 Material Design 风格的 Snackbar 添加按钮。

准备工作

在开始之前,您需要了解以下技术:

  • HTML
  • CSS
  • JavaScript
  • Angular 或者 React

使用 Material Design 风格的 Snackbar

Snackbar 是建立在 Material Design 规范之上的。在 Angular 和 React 中,Snackbar 已经被设计为成为一个可复用的组件库。使用 Material Design 风格的 Snackbar 添加按钮非常简单。

使用 Material Design 风格的 Snackbar 组件,需要在您的应用程序中引入它,并按以下方式添加 CSS 样式:

或者

这样做可以确保我们使用的是 Material Design 风格的 Snackbar。接下来,我们将演示如何在 Angular 和 React 中使用 Material Design 风格的 Snackbar 添加按钮。

在 Angular 中使用 Material Design 风格的 Snackbar

在 Angular 中,可以使用 MatSnackBar 服务来显示 Snackbar。在我们的 Component 文件中,需要在构造函数中注入 MatSnackBar 服务。然后,我们可以调用 open 方法并指定消息以及按钮文本和行动。

-- -------------------- ---- -------
------ - ----------- - ---- ------------------------------

------ ----- ------------ -
  ------------------- --------- ------------ --

  -------------- -
    -------------------------- ----------- --------- -
      --------- -----
    ---
  -
-

在这个例子中,我们使用 duration 属性来设置 Snackbar 显示的时间。如果不设置,Snackbar 默认的显示时间为 5 秒。

如果需要在按钮上添加更多的行动,您可以扩展 MatSnackBarAction 类并传递给 open 方法的第三个参数。

-- -------------------- ---- -------
------ - ------------ ------------------ -------------- - ---- ------------------------------
------ - ---------- ------ - ---- ---------------

------ ----- ------------ -
  ------------------- --------- ------------ --

  ------------------------ -
    ----- --------------- ----------------- - -
      --------- -----
      ------------------- ---------
      ----------------- -----
    --

    ----- ------------ ---------------------------- - -------------------------------------------------- -
      ------------------
      ----- - ----- -------- ---------- --
      ----------- --------------------
    ---

    ----------------------------
      ------------- -- -
        ---------------- -------- --- -------------
      ---
    ----------------------
      ------------- -- -
        ---------------- -------- ------ --- -------------
      ---
  -
-

在这个例子中,我们将实现一个自定义 Snackbar 行动并将其传递给 open 方法的第三个参数。我们还引入了 MatSnackBarConfigMatSnackBarRefMatSnackBarConfig 可以用于配置 Snackbar 的各个属性,例如显示时间、位置等。同时,我们使用了 MatSnackBarRef 来获取 Snackbar 的引用,以便在 Snackbar 关闭时执行一些操作。

在 React 中使用 Material Design 风格的 Snackbar

在 React 中,可以使用 Snackbar 组件来显示 Snackbar。在我们的 React Component 中,我们需要在 JSX code 中导入 Snackbar 和它的必要属性。然后,我们可以创建 Snackbar 的实例,并使用相应的属性来指定消息、行动和显示时长。

-- -------------------- ---- -------
------ ------ - --------- - ---- --------
------ ------ ---- ---------------------------
------ -------- ---- -----------------------------

----- --- ------- --------- -
    ------------------ -
        -------------
        ---------- - -
            ----- ------
        --
    -

    ----------- - ------- ------- -- -
        -- ------- --- ------------ -
            -------
        -
        --------------- ----- ----- ---
    --

    ---------- - -- -- -
        --------------- ----- ---- ---
    --

    -------- -
        ------ -
            -----
                ------- ------------------------------ -----------------
                ---------
                    ---------------
                        --------- ---------
                        ----------- -------
                    --
                    ----------------------
                    -----------------------
                    --------------------------
                    --------------- ----------
                    --------
                        ----------------
                            ------- ----------------- ------------ ---------------------------
                                -----
                            ---------
                        -----------------
                    -
                --
            ------
        --
    -
-

------ ------- ----

在这个例子中,我们使用 Snackbar 组件,并将 anchorOrigin 属性设置为通知位置。我们还引入了两个处理程序:handleOpenhandleClose。当用户单击按钮时,handleOpen 会将 Snackbar 设为打开状态,Snackbar 会打开并显示内容,并在指定的时间后自动关闭。当用户单击 Snackbar 上的行动按钮时,handleClose 会将 Snackbar 设为关闭状态。

总结

这篇文章介绍了如何使用 Material Design 风格的 Snackbar 添加按钮。我们了解了 Snackbar 的原理和优点,并演示了如何在 Angular 和 React 中使用它来改善用户体验。通过本文,读者将了解到使用 Material Design 风格的 Snackbar 组件,以及如何使用自定义行动来增强它的功能。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6498f4ba48841e98945e36e7

纠错
反馈