element中Notification组件(this.$notify)自定义样式

1、自定义样式效果 

2、vue代码 

this.notifications = this.$notify({
              title: '',
              dangerouslyUseHTMLString: true,
              duration: obj.remindMethod === '3' ? 0 : 4500,
              customClass: 'notify-warning',
              offset: 50,
              showClose: false,
              message: this.$createElement(
                "div",
                null,
                [
                  this.$createElement(
                    "div",
                    { class: 'alertTile' }
                  ),
                  this.$createElement(
                    "div",
                    { class: 'alertTile_1' },
                    "报警"
                  ),
                  this.$createElement(
                    "div",
                    { class: 'alertContant' },
                    [
                      this.$createElement(
                        "el-tooltip",
                        { 
                          props:{
                            effect:'dark',
                            content: obj.data,
                            placement:'top'
                          },
                         },
                        [
                          this.$createElement(
                            "span",
                            { class: 'alertContantSpan' },
                            "报警内容" + ":" + obj.data
                          ),
                        ]
                      ),
                      
                      this.$createElement(
                        "div",
                        "报警时间:" + obj.time
                      ),
                    ]

                  ),
                  this.$createElement(
                    "button",
                    {
                      class: 'close_notify',
                      on: {
                        click: _this.closeNotify.bind(_this, obj),
                      },
                    },
                    obj.buttonName
                  ),
                ]
              ),
            });

 3、CSS、不能用scoped修饰

<style>
  .el-notification__content {
  margin-top:30px
}
.notify-warning {
  background-image: url("../../../assets/images/baojing_box_red.png") !important;
  background-size: 100% 100% !important;
  width: 420px !important;
  height: 120px !important;
  background-position-y: 0px !important;
  background-color: rgba(255, 255, 255, 0) !important;
  margin-top: 50px !important;
  border: none !important;
  box-shadow: 0 2px 12px 0 rgb(0 0 0 / 0) !important;
}
.el-notification__group {
  margin-left: 130px !important;
}
.alertTile_1 {
  position: absolute !important;
  background-image: url("../../../assets/images/alert_red_3.png") !important;
  width: 128px !important;
  height: 128px !important;
  left: 0px !important;
  top: 0px !important;
  border-radius: 64px !important;
  color: white !important;
  line-height: 128px !important;
  text-align: center !important;
  position: relative;
  font-size: 16px !important;
}
.alertTile {
  position: absolute !important;
  background-image: url("../../../assets/images/alert_red_1.png") !important;
  width: 128px !important;
  height: 128px !important;
  left: 0px !important;
  top: 0px !important;
  border-radius: 64px !important;
  color: white !important;
  line-height: 128px !important;
  text-align: center !important;
  position: relative;
  -webkit-transform: rotate(360deg);
  animation: myfirst 3s linear infinite;
  -moz-animation: myfirst 3s linear infinite;
  -webkit-animation: myfirst 3s linear infinite;
  -o-animation: myfirst 3s linear infinite;
  font-size: 16px !important;
}

.alertContant{
  word-wrap:break-word;
  color:white;
}

@-webkit-keyframes myfirst {
  from {
    -webkit-transform: rotate(360deg);
  }

  to {
    -webkit-transform: rotate(0deg);
  }
}
.el-notification__closeBtn{
  top:25px
}

.close_notify{
    color: #fff;
    cursor: pointer;
    width: 50px;
    height: 22px;
    line-height: 20px;
    background: #0f83f7;
    text-align: center;
    position: absolute;
    bottom: 15px;
    right: 5px;
}

</style>

4、自定义关闭按钮

//点击事件回调
    closeNotify(type) {
      console.log("hahah");
      console.log(type);
      if(type === '2'){
      console.log("自动关闭,流程。。");
      }
      if(type === '3'){
      console.log("手动确认,流程。。");
      }
      this.notifications.close();
    },

5、使用到的图片

图片地址链接:

https://download.youkuaiyun.com/download/askuld/88282624

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值