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

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

vue用ant design中table表格,點擊某行時觸發的事件操作

瀏覽:3日期:2022-11-10 11:34:12

使用customRow 設置行屬性,寫對應事件

:customRow='rowClick'

然后在data里面寫

rowClick: record => ({ // 事件 on: { click: () => { // 點擊改行時要做的事情 // ...... console.log(record, ’record’) } } })

在官方文檔中也寫的很清楚

vue用ant design中table表格,點擊某行時觸發的事件操作

補充知識:Ant-Design-Vue table 合并單元格,并且添加點擊事件

點擊行,有一個customRow。可以配置點擊事件。

單元格的自定義分為兩種方式。

一種是:通過template標簽。

html部分

// text為dataIndex中的值,data為行數據,index為索引值<template slot='xxx' slot-scope='text,data,index'>{{text|xxxFormat}}</template>

js部分

//table的columns設定,customRender對應著html中的slot值columns = [ { title: '列名', dataIndex: 'aaa', scopedSlots: { customRender: ’xxx’ }},]

一種是:customRender。下面給出來的是合并單元格的一段代碼。

vm.columns = [ { title: '列名', dataIndex: 'aaa', customRender: (text, row, index) => { var obj = { children: text, attrs: {} } if (index % 2 == 0) { obj.attrs.rowSpan = 2; } else { obj.attrs.rowSpan = 0; } return obj; } },];

在合并單元格的代碼中可以看出。obj實際上操作的是td的相關屬性。children中的內容是放在td中的。這個內容就類似于上面的template。因為能操作td以及內部的內容,所以這種方法的靈活性更加高。對于單元格合并這種操作來說,只能通過customRender來了。

雖然官方給了很多在table中添加a標簽的例子,不過都沒有對點擊事件填寫相應的方法調用。

如果只是簡單的點擊事件,可以通過簡單地template調用點擊事件。也可以方便的傳參數。

<template slot='xxx' slot-scope='text,data,index'><a href='javascript:;' rel='external nofollow' rel='external nofollow' rel='external nofollow' rel='external nofollow' @click='clickMe'>你點我呀</a></template>

知識點,來了,如果是合并單元格里面添加點擊事件呢?

第一次 嘗試

customRender: (text, row, index) => { var obj = { children: <a href='javascript:;' rel='external nofollow' rel='external nofollow' rel='external nofollow' rel='external nofollow' click=’cityClick(text)’>{text}</a>, attrs: {} }; if (index % 2 == 0) { obj.attrs.rowSpan = 2; } else { obj.attrs.rowSpan = 0; } return obj;},

自己寫的時候,心里就覺得別扭,click=’cityClick(text)’這個地方值能傳進去么?

試了下,呵呵噠,方法都不好使,也不報錯。。

第二次嘗試,借鑒下customRow

vue用ant design中table表格,點擊某行時觸發的事件操作

customRender: (text, row, index) => { var obj = { children: <a href='javascript:;' rel='external nofollow' rel='external nofollow' rel='external nofollow' rel='external nofollow' >{text}</a>, attrs: {}, on: { click: () => { this.$message.info(text); } } }; if (index % 2 == 0) { obj.attrs.rowSpan = 2; } else { obj.attrs.rowSpan = 0; } return obj;},

寫完之后,自我感覺還是不錯的,試一下。

不動如山。。。

第三次嘗試,祭出大殺器 vue-jsx

children不能簡簡單單的寫個<a href='javascript:;' rel='external nofollow' rel='external nofollow' rel='external nofollow' rel='external nofollow' >{text}</a>,得給他翻譯翻譯

vue用ant design中table表格,點擊某行時觸發的事件操作

虛擬DOM不錯的樣子

var vm = this;const columns = [ { title: ’Name’, dataIndex: ’name’ }, { title: ’City’, dataIndex: ’city’, customRender: (text, row, index) => { var child = vm.$createElement('a', { domProps: { innerHTML: text }, on: { click: function () { vm.cityClick(text); } } }); var obj = { children: child, attrs: {}, }; if (index % 2 == 0) { obj.attrs.rowSpan = 2; } else { obj.attrs.rowSpan = 0; } return obj; }, },

再單獨把實現方法拿出來

var child = vm.$createElement('a', { domProps: { innerHTML: text }, on: { click: function () { vm.cityClick(text); } }});

看看效果

vue用ant design中table表格,點擊某行時觸發的事件操作

完美~~~

以上這篇vue用ant design中table表格,點擊某行時觸發的事件操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
主站蜘蛛池模板: 一本一道波多野结衣456 | 国产特黄特色一级特色大片 | 国产99高清一区二区 | 天堂影院jav成人天堂免费观看 | 久久久久日韩精品无 | 在线视频一区二区三区在线播放 | 欧美午夜视频一区二区三区 | 99视频福利 | 亚洲午夜一区二区三区 | 日韩欧美在线播放视频 | 精品一区二区三区高清免费不卡 | 日本韩国一级片 | 色在线免费视频 | 久久久久久久久久久久久久久久久 | 成人18在线视频播放 | 99成人免费视频 | 国产成人精品曰本亚洲78 | 国产成人精品日本亚洲网址 | 黄页网站18以下禁止观看 | 久久久久久久久久久大尺度免费视频 | 97在线视频网站 | 亚洲国产成人精品区 | 亚洲aⅴ男人的天堂在线观看 | 香蕉久久成人网 | 香蕉视频国产精品 | 久久女同互慰一区二区三区 | 日韩欧美一级a毛片欧美一级 | 91欧美精品综合在线观看 | 欧美另类精品一区二区三区 | 亚洲精品综合久久中文字幕 | 美女视频大全视频a免费九 美女视频大全网站免费 | 免费国产成人手机在线观看 | 台湾三级香港三级在线中文 | 美国毛片免费看 | 国产视频a | 久久99精品久久久久久秒播 | 精品a在线观看 | 国产看片一区二区三区 | 国产精品毛片一区 | 在线观看精品视频网站www | 一级看片免费视频囗交 |