在elementui中Notification组件添加点击事件实例


Posted in Javascript onNovember 11, 2020

1. 官方文档

在elementui中Notification组件添加点击事件实例

2. 添加点击事件,传参

handleClick() {
 let telNo = "1111",
 message = "22222",
 _this = this; //函数作用域问题

 this.$notify({
 title: "通知消息",
 position: "bottom-right",
 dangerouslyUseHTMLString: true,
 message: `<p style="cursor: pointer;">号码:<i>${telNo}</i></p>`,
 duration: 0,
 type: "warning",
 onClick() {
 _this.defineCallBack(message); //自定义回调,message为传的参数
 }
 });
},

//点击事件回调
defineCallBack(message) {
 console.log(message);
},

3. 按一定时间顺序弹出消息通知

//按一定时间顺序弹出消息通知
notifyByOrder() {
 let data = ["aaaa", "bbbbb", "ccccc"];
 for (let i = 0; i < data.length; i++) {
 let item = data[i];
 setTimeout(() => {
 this.$notify({
 title: `通知${i + 1}`,
 position: "bottom-right",
 message: `通知内容${item}`,
 duration: 0,
 type: "warning"
 });
 }, i * 5000);
 }
}

补充知识:vue+elementui怎样点击table中的单元格触发事件--弹框

elementui中提供了点击行处理事件

查看位置: elementui的table事件

elementui的table中怎样点击某个单元格触发事件?

可以先看一下官网中table的自定义列模板代码

<template>
 <el-table
 :data="tableData"
 border
 style="width: 100%">
 <el-table-column
 label="日期"
 width="180">
 <template scope="scope">
 <el-icon name="time"></el-icon>
 <span style="margin-left: 10px">{{ scope.row.date }}</span>
 </template>
 </el-table-column>
 <el-table-column
 label="姓名"
 width="180">
 <template scope="scope">
 <el-popover trigger="hover" placement="top">
  <p>姓名: {{ scope.row.name }}</p>
  <p>住址: {{ scope.row.address }}</p>
  <div slot="reference" class="name-wrapper">
  <el-tag>{{ scope.row.name }}</el-tag>
  </div>
 </el-popover>
 </template>
 </el-table-column>
 <el-table-column label="操作">
 <template scope="scope">
 <el-button
  size="small"
  @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
 <el-button
  size="small"
  type="danger"
  @click="handleDelete(scope.$index, scope.row)">删除</el-button>
 </template>
 </el-table-column>
 </el-table>
</template>
<script>
 export default {
 data() {
 return {
 tableData: [{
  date: '2016-05-02',
  name: '王小虎',
  address: '上海市普陀区金沙江路 1518 弄'
 }, {
  date: '2016-05-04',
  name: '王小虎',
  address: '上海市普陀区金沙江路 1517 弄'
 }, {
  date: '2016-05-01',
  name: '王小虎',
  address: '上海市普陀区金沙江路 1519 弄'
 }, {
  date: '2016-05-03',
  name: '王小虎',
  address: '上海市普陀区金沙江路 1516 弄'
 }]
 }
 },
 methods: {
 handleEdit(index, row) {
 console.log(index, row);
 },
 handleDelete(index, row) {
 console.log(index, row);
 }
 }
 }
</script>

点击单元格弹出框可以使用template-scope方式实现

父组件

<el-table
 :data="tableData"
 border
 style="width: 100%">
 <el-table-column
 label="编号"
 prop = "number"
 width="180">
 <template scope="scope">
 <div style="color:red;text-decoration:underline;cursor:pointer;" @click="getMore(scope.row)">{{ scope.row.date }}</div>
 </template>
 </el-table-column>
 <el-table-column
 label="名称"
 prop = "name"
 width="180">
 <template scope="scope">
 <div style="color:red;text-decoration:underline;cursor:pointer;" @click="getMore2(scope.row)">{{ scope.row.date }}</div>
 </template>
 </el-table-column>
</el-table>
 
<el-dialog :visible-sync="getA">
 <my-component :rowaa=row></my-component>
</el-dialog>
<el-dialog :visible-sync="getB">
 <my-component2 :rowaa=row></my-component2>
</el-dialog>
<script>
 import myComponent from './mycomponent'
 import myComponent2 form './mycomponent2'
 export default {
 data() {
  return {
  tableData : [
   {"number" : 1,"name":"y"},
   {"number" : 2,"name":"x"},
  ],
  getA : false,
  getB : false,
  row : ''
  } 
 },
 components: {
  'my-component' : myComponent,
  'my-component2' : myComponent2 
 },
 methods : {
  getMore(row) {
  this.getA = true
  this.row = row
  },
  getMore2(row) {
  this.getB = true
  this.row = row
  }
 }
 }
</script>

子组件 mycomponent

<div>{{formData}}</div>
 
<script>
export default {
 props: ['rowaa'],
 data() {
 return {
  formData:''
 }
 },
 created() {
 this.getData() 
 },
 watch : {
 'rowaa' : 'getData'
 },
 methods: {
 getData() {
  //从后台获取数据逻辑 model.CacheModel.get('api/' + this.rowaa + '.json')
  //通过this.rowaa就可以获取传过来的值
  this.formData = 333
 }
 }
}
</script>

问题解决

可以使用template+slot插值进行管理

点击找到当前行的信息,然后再根据该信息在子组件中请求数据

也试过通过点击行的事件,判断在哪一个单元格然后处理事件,这样也可以,但如果在表格中列存放的内容发生变化又得重新调整

也试过dialog弹出框直接写在当前单元格的template中,就像官网中例子一样,但是这样会在点击时触发多次(次数与当前页展示的数量一致)

以上这篇在elementui中Notification组件添加点击事件实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS启动应用程序的一个简单例子
May 11 Javascript
JavaScript 继承详解(四)
Jul 13 Javascript
九种js弹出对话框的方法总结
Mar 12 Javascript
基于jquery中children()与find()的区别介绍
Apr 26 Javascript
网站内容禁止复制和粘贴、另存为的js代码
Feb 26 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
Jun 16 Javascript
js实现图片和链接文字同步切换特效的方法
Feb 20 Javascript
JavaScript实现的字符串replaceAll函数代码分享
Apr 02 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
Mar 06 Javascript
JavaScript实现学生在线做题计时器功能
Dec 05 Javascript
页面内锚点定位及跳转方法总结(推荐)
Apr 24 Javascript
layui中select,radio设置不生效的解决方法
Sep 05 Javascript
vue.js+element 默认提示中英文操作
Nov 11 #Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
Nov 11 #Javascript
vue 实现element-ui中的加载中状态
Nov 11 #Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
Nov 11 #Javascript
JS前端基于canvas给图片添加水印
Nov 11 #Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
Nov 11 #Javascript
使用Vant完成Dialog弹框案例
Nov 11 #Javascript
You might like
ajax php 实现写入数据库
2009/09/02 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
PHP使用curl_multi实现并发请求的方法示例
2018/04/29 PHP
JavaScript下申明对象的几种方法小结
2008/10/02 Javascript
jQuery EasyUI API 中文文档 可调整尺寸
2011/09/29 Javascript
jquery(hide方法)隐藏指定元素实例
2013/11/11 Javascript
js 实现菜单上下显示附效果图
2013/11/21 Javascript
利用javascript数组长度循环数组内所有元素
2013/12/27 Javascript
javascript中hasOwnProperty() 方法使用指南
2015/03/09 Javascript
jquery验证邮箱格式并显示提交按钮
2015/11/07 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
2016/09/16 Javascript
weUI应用之JS常用信息提示弹层的封装
2016/11/21 Javascript
Vue中定义全局变量与常量的各种方式详解
2017/08/23 Javascript
基于jQuery中ajax的相关方法汇总(必看篇)
2017/11/08 jQuery
postman+json+springmvc测试批量添加实例
2018/03/31 Javascript
Vue 组件封装 并使用 NPM 发布的教程
2018/09/30 Javascript
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
2019/03/01 Javascript
javascript中undefined的本质解析
2019/07/31 Javascript
js实现图片上传到服务器和回显
2020/01/19 Javascript
详解Python3中yield生成器的用法
2015/08/20 Python
Python各类图像库的图片读写方式总结(推荐)
2018/02/23 Python
Python基于opencv的图像压缩算法实例分析
2018/05/03 Python
新年福利来一波之Python轻松集齐五福(demo)
2020/01/20 Python
香港草莓网土耳其网站:Strawberrynet TR
2017/03/02 全球购物
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
Conforama西班牙:您的家具、装饰和电器商店
2020/02/21 全球购物
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
家长给孩子的表扬信
2014/01/17 职场文书
1亿有多大教学反思
2014/05/01 职场文书
医院反腐倡廉演讲稿
2014/09/16 职场文书
画展邀请函
2015/01/31 职场文书
行政经理岗位职责
2015/04/15 职场文书
2015年高校辅导员工作总结
2015/04/20 职场文书
java设计模式--七大原则详解
2021/07/21 Java/Android
zabbix自定义监控nginx状态实现过程
2021/11/01 Servers
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL