国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

vue+elementui實現點擊table中的單元格觸發事件--彈框

瀏覽:3日期:2023-01-05 10:44:49

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 @click='getMore(scope.row)'>{{ scope.row.date }}</div> </template> </el-table-column> <el-table-column label='名稱' prop = 'name' width='180'> <template scope='scope'> <div @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 = truethis.row = row }, getMore2(row) {this.getB = truethis.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中,就像官網中例子一樣,但是這樣會在點擊時觸發多次(次數與當前頁展示的數量一致)

補充知識:element cell-click使用方法

我就廢話不多說了,大家還是直接看代碼吧~

<el-table border :data='Datalist' @cell-click='handle' >methods: {handle(row,column,event,cell) { console.log(row) console.log(column) console.log(event) console.log(cell) }}

以上這篇vue+elementui實現點擊table中的單元格觸發事件--彈框就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 精品热99| 狠狠ady精品 | 国产大臿蕉香蕉大视频女 | 国产日韩欧美一区二区三区综合 | 精品一区二区三区在线观看l | 日本精品久久久久久久久免费 | 亚洲综合国产一区在线 | 精品96在线观看影院 | 搞黄网站在线观看 | 国产午夜视频 | 网站在线看 | 国产人妖xxxx做受视频 | 国产成人a福利在线观看 | 国产免费一区二区三区在线 | 成人国产网站v片免费观看 成人国产午夜在线视频 | 99爱视频精品免视看 | 中文字幕亚洲高清综合 | 久热国产在线视频 | 京野结衣免费一区二区 | 7ass欧美| 久久九九精品视频 | 一级网站在线观看 | 国产精品亚洲综合网站 | 亚洲免费大全 | 成年人免费观看视频网站 | 国内自拍网红在线综合 | 美女张开腿让男人桶下面 | 一区二区三区网站在线免费线观看 | 国产成人精品久久一区二区三区 | 免费又黄又爽视频 | 久草免费资源视频 | 成 人 动漫在线观看网站网站 | 欧美videos极品 | 色www永久免费网站国产 | 香蕉tv亚洲专区在线观看 | 韩国美女毛片 | 国产成人综合在线 | 日韩欧美在线观看 | 成人欧美精品大91在线 | 日韩美女大全视频在线 | 99久久久免费精品免费 |