电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

vue用ant design中table表格,點(diǎn)擊某行時(shí)觸發(fā)的事件操作

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

使用customRow 設(shè)置行屬性,寫對(duì)應(yīng)事件

:customRow='rowClick'

然后在data里面寫

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

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

vue用ant design中table表格,點(diǎn)擊某行時(shí)觸發(fā)的事件操作

補(bǔ)充知識(shí):Ant-Design-Vue table 合并單元格,并且添加點(diǎn)擊事件

點(diǎn)擊行,有一個(gè)customRow。可以配置點(diǎn)擊事件。

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

一種是:通過(guò)template標(biāo)簽。

html部分

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

js部分

//table的columns設(shè)定,customRender對(duì)應(yīng)著html中的slot值columns = [ { title: '列名', dataIndex: 'aaa', scopedSlots: { customRender: ’xxx’ }},]

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

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實(shí)際上操作的是td的相關(guān)屬性。children中的內(nèi)容是放在td中的。這個(gè)內(nèi)容就類似于上面的template。因?yàn)槟懿僮鱰d以及內(nèi)部的內(nèi)容,所以這種方法的靈活性更加高。對(duì)于單元格合并這種操作來(lái)說(shuō),只能通過(guò)customRender來(lái)了。

雖然官方給了很多在table中添加a標(biāo)簽的例子,不過(guò)都沒有對(duì)點(diǎn)擊事件填寫相應(yīng)的方法調(diào)用。

如果只是簡(jiǎn)單的點(diǎn)擊事件,可以通過(guò)簡(jiǎn)單地template調(diào)用點(diǎn)擊事件。也可以方便的傳參數(shù)。

<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'>你點(diǎn)我呀</a></template>

知識(shí)點(diǎn),來(lái)了,如果是合并單元格里面添加點(diǎn)擊事件呢?

第一次 嘗試

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;},

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

試了下,呵呵噠,方法都不好使,也不報(bào)錯(cuò)。。

第二次嘗試,借鑒下customRow

vue用ant design中table表格,點(diǎn)擊某行時(shí)觸發(fā)的事件操作

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;},

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

不動(dòng)如山。。。

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

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

vue用ant design中table表格,點(diǎn)擊某行時(shí)觸發(fā)的事件操作

虛擬DOM不錯(cuò)的樣子

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; }, },

再單獨(dú)把實(shí)現(xiàn)方法拿出來(lái)

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

看看效果

vue用ant design中table表格,點(diǎn)擊某行時(shí)觸發(fā)的事件操作

完美~~~

以上這篇vue用ant design中table表格,點(diǎn)擊某行時(shí)觸發(fā)的事件操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
主站蜘蛛池模板: 塑料薄膜_PP薄膜_聚乙烯薄膜-常州市鑫美新材料包装厂 | 超声骨密度仪-骨密度检测仪-经颅多普勒-tcd仪_南京科进实业有限公司 | 网站优化公司_北京网站优化_抖音短视频代运营_抖音关键词seo优化排名-通则达网络 | 医用酒精_84消毒液_碘伏消毒液等医用消毒液-漓峰消毒官网 | 刘秘书_你身边专业的工作范文写作小秘书 | 苏州防水公司_厂房屋面外墙防水_地下室卫生间防水堵漏-苏州伊诺尔防水工程有限公司 | 韦伯电梯有限公司 | 机械立体车库租赁_立体停车设备出租_智能停车场厂家_春华起重 | 水冷散热器_水冷电子散热器_大功率散热器_水冷板散热器厂家-河源市恒光辉散热器有限公司 | 南京试剂|化学试剂|分析试剂|实验试剂|cas号查询-专业60年试剂销售企业 | 武汉宣传片制作-视频拍摄-企业宣传片公司-武汉红年影视 | 重庆私家花园设计-别墅花园-庭院-景观设计-重庆彩木园林建设有限公司 | 玉米深加工设备|玉米加工机械|玉米加工设备|玉米深加工机械-河南成立粮油机械有限公司 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 真空泵厂家_真空泵机组_水环泵_旋片泵_罗茨泵_耐腐蚀防爆_中德制泵 | 液氮罐_液氮容器_自增压液氮罐_杜瓦瓶_班德液氮罐厂家 | 实验室pH计|电导率仪|溶解氧测定仪|离子浓度计|多参数水质分析仪|pH电极-上海般特仪器有限公司 | 播音主持培训-中影人教育播音主持学苑「官网」-中国艺考界的贵族学校 | 合肥汽车充电桩_安徽充电桩_电动交流充电桩厂家_安徽科帝新能源科技有限公司 | DDoS安全防护官网-领先的DDoS安全防护服务商 | 今日扫码_溯源二维码_产品防伪一物一码_红包墙营销方案 | 电缆接头-防爆电缆接头-格兰头-金属电缆接头-防爆填料函 | LINK FASHION 童装·青少年装展 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 苏州防水公司_厂房屋面外墙防水_地下室卫生间防水堵漏-苏州伊诺尔防水工程有限公司 | SMC-SMC电磁阀-日本SMC气缸-SMC气动元件展示网 | 塑胶跑道_学校塑胶跑道_塑胶球场_运动场材料厂家_中国塑胶跑道十大生产厂家_混合型塑胶跑道_透气型塑胶跑道-广东绿晨体育设施有限公司 | 铸铝门厂家,别墅大门庭院大门,别墅铸铝门铜门[十大品牌厂家]军强门业 | 脉冲布袋除尘器_除尘布袋-泊头市净化除尘设备生产厂家 | 翰墨AI智能写作助手官网_人工智能问答在线AI写作免费一键生成 | 单螺旋速冻机-双螺旋-流态化-隧道式-食品速冻机厂家-广州冰泉制冷 | 微学堂-电动能源汽车评测_电动车性能分享网| 路斯特伺服驱动器维修,伦茨伺服驱动器维修|万骏自动化百科 | 网站建设-网站制作-网站设计-网站开发定制公司-网站SEO优化推广-咏熠软件 | 常州减速机_减速机厂家_常州市减速机厂有限公司 | 蜂蜜瓶-玻璃瓶-玻璃瓶厂-玻璃瓶生产厂家-徐州贵邦玻璃制品有限公司 | 重庆小面培训_重庆小面技术培训学习班哪家好【终身免费复学】 | 螺旋绞龙叶片,螺旋输送机厂家,山东螺旋输送机-淄博长江机械制造有限公司 | 香蕉筛|直线|等厚|弧形|振动筛|香蕉筛厂家-洛阳隆中重工 | 电力测功机,电涡流测功机,磁粉制动器,南通远辰曳引机测试台 | 耐驰泵阀管件制造-耐驰泵阀科技(天津)有限公司 | 广州冷却塔维修厂家_冷却塔修理_凉水塔风机电机填料抢修-广东康明节能空调有限公司 |