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

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


猜你喜欢

  • Express.js 中使用 Passport 实现用户认证

    在现代 web 应用程序中,用户认证是必不可少的功能。有许多开源的认证库可以使用,其中 Passport 是最流行的之一。它是一个可扩展的 Node.js 应用程序,可用于通过多种认证方式进行用户认证...

    1 年前
  • ES7 中的 Array.prototype.at()

    ES7 中的 Array.prototype.at() 在 JavaScript 中使用数组是非常常见的,但在以往的 ES6 中,如果我们想要访问数组中的某一项,只能通过索引值将其取出,如 arr[0...

    1 年前
  • 使用 Tailwind CSS 框架时,如何解决样式和布局出现的问题?

    什么是 Tailwind CSS? Tailwind CSS 是一款由 Adam Wathan 和 Steve Schoger 开发的 CSS 框架,它与传统的 CSS 框架不同,因为它不是基于 UI...

    1 年前
  • 在 Vue.js 项目中使用 echarts 出现的问题与解决方案

    Vue.js 是一种流行的 JavaScript 框架,而 echarts 则是当前最受欢迎的数据可视化工具。在 Vue.js 项目中集成 echarts 可以使得数据图表更加生动直观。

    1 年前
  • 解析 ECMAScript 2019 的 Object.fromEntries() 方法

    ECMAScript 2019 规范中新增了 Object.fromEntries() 方法,它的作用是将一个由键值对组成的数组转换为一个对象。本文将详细解析这个方法并带来指导意义和示例代码。

    1 年前
  • 在 Hapi 框架中添加 Swagger 文档

    Swagger 是一种用于描述和展示 RESTful API 的标准格式,提供了可视化的 API 文档,并允许用户进行交互测试和直接访问 API。在 Hapi 框架中添加 Swagger 文档可以方便...

    1 年前
  • 使用 React Router 实现页面跳转效果

    React Router 是一个用于 React 应用的强大路由库。它可以实现单页面应用中的页面跳转效果,并为更好的用户体验提供支持。本文将详细介绍使用 React Router 实现页面跳转效果的方...

    1 年前
  • PWA 实现中如何添加新的缓存版本?

    PWA(Progressive Web App)是一种新型的 Web 技术,可以将 Web 应用程序转化为类似于本地应用程序的用户体验。其中重要的一点是使用 Service Worker 来实现离线缓...

    1 年前
  • 如何在 Sequelize 中使用别名进行表名和字段名的简化

    如何在 Sequelize 中使用别名进行表名和字段名的简化 前言 Sequelize 是一款 Node.js 中用于操作关系型数据库的 ORM 框架,它可以通过定义模型来操作数据库中的表,从而使数据...

    1 年前
  • 如何使用 ECMAScript 2020 优化代码的不可变性

    ECMAScript 2020 是 JavaScript 语言的最新版本,通过它可以更好地优化代码的不可变性。在本文中,我们将探讨如何使用 ECMAScript 2020 的新特性来提高代码的可维护性...

    1 年前
  • 使用 RxJS 的 switchMap 操作符避免多次请求同一数据源

    在 Web 开发中,前端应用经常需要从远程服务器获取数据并进行展示或处理。由于网络延迟或用户交互等因素,我们不可避免地会出现多次请求同一数据源的情况。这不仅会产生额外的网络流量和服务器负载,还会降低用...

    1 年前
  • 解决 Mongoose 中 findOne 方法返回 null 的问题及注意事项

    问题简述 在使用 Mongoose(一种 MongoDB 的 Node.js 驱动程序)进行查询时,经常会遇到 findOne 方法返回 null 的情况。常见的代码示例如下: ----- ---- ...

    1 年前
  • 如何利用 GraphQL 透明地访问 RESTful API

    GraphQL 是一种由 Facebook 开发的现代 API 技术,适用于构建可扩展且可维护的 Web 应用程序。 GraphQL 相比传统的 RESTful API 具有更好的灵活性和可定制性,同...

    1 年前
  • Angular 组件之间通讯的三种方式详解

    在 Angular 中,组件之间的通讯是非常重要的。组件之间通讯的目的是为了传递数据或事件,以便在整个应用程序中各个组件之间共享信息或改变状态。在本文中,我们将深入了解 Angular 中组件之间通讯...

    1 年前
  • 使用自定义元素创建可复用的 Web 组件

    前言 Web 页面开发中,我们经常需要使用各种 UI 组件来进行页面的构建和设计。但是我们发现,这些组件每次使用的时候都需要写一遍 HTML 代码,而且这些代码通常都比较冗长,重复性非常高。

    1 年前
  • 解决 Vue.js 单页应用程序(SPA)的 SEO 问题

    随着 Vue.js 单页应用程序(SPA)的流行,SEO 问题也成为了程序员们必须考虑的问题。由于 SPA 是基于 JavaScript 的,而搜索引擎爬虫大多不会执行 JavaScript 代码,所...

    1 年前
  • Kubernetes 存储卷详解:云盘、NFS、HostPath 等

    Kubernetes 存储卷详解:云盘、NFS、HostPath 等 Kubernetes 是一款开源的容器编排工具,它可以帮助用户在集群中部署和管理容器。作为一款容器编排工具,Kubernetes ...

    1 年前
  • 在 Socket.io 中如何发送自定义事件

    在 Socket.io 中如何发送自定义事件 Socket.io 是一个用于构建实时应用程序的 JavaScript 库,它使用 WebSocket 技术来实现实时通信。

    1 年前
  • ECMAScript 2021 中的函数参数默认值详解

    ECMAScript 2021 中的函数参数默认值详解 在 JavaScript 中,函数是非常重要的一部分。而在函数的使用过程中,经常涉及到参数的传递。在 ECMAScript 2021 中,新增了...

    1 年前
  • Node.js 中如何使用 ES6 中的模块化语法?

    Node.js 中如何使用 ES6 中的模块化语法? 随着前端技术的不断发展,ES6(ECMAScript 6)成为了新的 JavaScript 标准,其中包含了许多新特性,其中最重要的之一就是模块化...

    1 年前

相关推荐

    暂无文章