element-ui中Notification 通知自定义样式、按钮及点击事件

这篇具有很好参考价值的文章主要介绍了element-ui中Notification 通知自定义样式、按钮及点击事件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Notification 通知用于悬浮出现在页面角落,显示全局的通知提醒消息。

一、自定义html页面

        element-ui官方文档中说明Notification 通知组件的message 属性支持传入 HTML 片段,但是示例只展示了简单的html片段,通常不能满足开发中的更深入需要,比如我需要把通知弹框添加按钮、复选框,尤其是按钮还会绑定点击事件,这时就不能用示例的html片段;

        应该使用VNode,通过使用它可以实例化不同类型的VNode实例。VNode的兼容性强,因为是 JS 对象,不管 node 还是,浏览器,都可以统一操作,从而获得了服务端渲染、原生渲染、手写渲染函数等能力。

//使用VNode创建一个勾选框
const checkbox = h('input', {
            attrs: {
                type: 'checkbox',
                checked: this.checked
            },
            domProps: {
                checked: this.checked
            },
            on: {
                change: (event) => {
                    this.$store.state.showWarning = event.target.checked
                }
            }
        })
        const label = h('label', {
            style:{
                margin:"10% 0 0 0 ",
            }
        }, [
            checkbox,
            `不再弹出该类型消息`
        ])
        //定义确认按钮
        const button = h('el-button', {
            props:{
                type:'primary',
                size:"mini"
            },
            on: {
            //为按钮绑定点击事件
                click: ()=>{
                    this. closeWarn(obj)
                }

            },
            style:{
                border:"none",
                textAlign:"center",
                // width:"20%",
                margin:"5% 0 0 0 ",
            }
        }, '确定')
        const br = h('br')
        //定义通知弹窗
        const notification = this.$notify({
            type:this.warnType,
            title: this.warn.msg,
            dangerouslyUseHTMLString: true,
            offset:50,
            message:h('div', {
                style:{
                    width:"100%"
                },
            }, [
                label,
                br,
                button
            ]),
            duration: 0,
            //自定义类名
             customClass:`warnNotify`,
            showClose: false,

        });

 element-ui中Notification 通知自定义样式、按钮及点击事件,前端,JavaScript,vue.js,javascript,开发语言,vue.js,前端

 二、自定义按钮以关闭弹框

我们定义了一个按钮,期望通过点击按钮来删除当前点击确定的弹框;

调用 Notification 或 this.$notify 会返回当前 Notification 的实例。如果需要手动关闭实例,可以调用它的 close 方法。

methods中关闭弹窗的方法:

方法为当弹框为多个时,通过close方法,点击确定按钮以删除对应的弹框 

closeWarn(obj) { // 点击确认,关闭弹框,并且删除数组中对应的项   
    this.notifyList.forEach((item, index) => {
                  //满足以下条件时关闭弹框
                  if (item.id === obj.id && item.flag===obj.flag) {
                      item.notification.close(); // 关闭弹框
                      indices.push(index); // 存储需要删除的索引
                      // 删除对应的项
                      // indices.reverse().forEach((index) => {
                      this.notifyList.splice(index, 1);
                      this.notifyArr.splice(index,1)
                  }
              });
}

 三、自定义通知弹框的样式

这里做简单展示修改一下弹框的背景透明度;

在上面我们给通知弹框赋予了一个类名即 

  //自定义类名
             customClass:`warnNotify`,

 在<style></style>中为该类进行样式设计,修改为想要展示的样式。

.warnNotify{
    background: rgba(255, 255, 255, 0.8) !important;
}

需要注意的是,在当前的vue组件中style不能设置为scoped局部样式,因为添加的消息弹层div不在当前组件下面,也不在APP.vue的div下面,它的div标签和app.vue平级,并且要用!important对样式加权至最高权重!

至此,element-ui中Notification 通知自定义样式、按钮及点击事件完成。

 文章来源地址https://www.toymoban.com/news/detail-621967.html

到了这里,关于element-ui中Notification 通知自定义样式、按钮及点击事件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自定义日历.element-ui 修改时间选择器样式

    目录 一、自定义日历 二、时间选择样式自定义 先上效果图 已经封装成vue组件,可选择切换年月:  因 element-UI的时间选择器 el-date-picker 是将元素直接挂载到页面的 body 中,而非自身元素下,所以使用  /deep/、 、  ::v-deep  等穿透无法定位到元素。 解决方案: 利用时间选择

    2024年02月12日
    浏览(49)
  • element-ui form表单自定义label的样式、内容

    element-ui form表单自定义label的样式、内容

    2024年04月17日
    浏览(44)
  • element-ui table-自定义表格某列的表头样式或者功能

    自带表格 自定义表格某列的表头样式或者功能

    2024年02月03日
    浏览(54)
  • element中Notification组件(this.$notify)自定义样式

    alert_red_1.png alert_red_2.png alert_red_3.png baojing_box_red.png baojing_content_red.png 图片地址链接: https://download.csdn.net/download/askuld/88282624

    2024年02月10日
    浏览(36)
  • element-ui中el-table点击其他自定义按钮展开table中某一行

    在日常开发中,我们遇见了会有点击某些按钮,使得表格行展开的需求,这时候去查看文档 element-ui(table) 这里官方提供了示例为在行最左侧有一个展开合并icon,但是点其他地方不能展开,我们又想点其他地方而展开 我们看见是在table-column上定了type为expand,而该列里面的

    2024年01月18日
    浏览(38)
  • element-ui 修改时间选择器样式

    因为elementUI的时间选择器el-date-picker是将元素直接挂载到页面的 body 中,而非自身元素下,所以使用 /deep/ 穿透也是无法定位到元素的。 解决方案: 利用时间选择器的 popper-class 属性,给其设置样式。 然后再在src/assets下创建style.scss,在该文件里面进行样式的编写 最后再引入

    2024年02月11日
    浏览(54)
  • element-ui折叠面板怎么修改样式

    修改前 因为组件封装,要使用样式穿透来修改… 注意需要把需要样式穿透的类单独拿出来,不能包裹在scss格式的类里了 修改后 展开… 最后这个缝隙可以用边框来填补,至于伪类加横杠最好不要用,因为展开和折叠的时候会出现一瞬间白线

    2024年02月12日
    浏览(55)
  • Element-ui踩的坑-“CSS样式”

    目录 配置环境 错误方向 解决  总结 pc端 node  16.14.0  npm  8.3.1  vue  @vue/cli 5.0.8 在使用element-ui时,发现有时候可以在控制台利用内置的类来改变节点元素样式,但是当数据一多就无法利用了(即,无效利用),并且,在无效后在其上添加会发现,添加的样式处于所需要绑定

    2024年02月08日
    浏览(38)
  • Vue2 - 引入Element-UI组件样式

    官方文档 https://element.eleme.cn/#/zh-CN/component/installation 推荐使用 npm 的方式安装 ,它能更好地和 webpack 打包工具配合使用。 在终端cd到项目文件夹下安装 也可以通过CDN(不推荐) 目前可以通过 unpkg.com/element-ui 获取到最新版本的资源,在页面上引入 js 和 css 文件即可开始使用。

    2024年02月06日
    浏览(63)
  • 1、关于Element-UI日期范围选择器控件添加清空、确定按钮

    1、日期控件原来样式 现在我们需要在日期控件右下角添加按钮(如下方示例) 2、实现方式

    2024年02月16日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包