最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年10月28日 11:46:13   作者:婷婷心慌  
這篇文章主要介紹了vue用ant design中table表格,點擊某行時觸發(fā)的事件操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

:customRow="rowClick"

然后在data里面寫

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

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

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

點擊行,有一個customRow??梢耘渲命c擊事件。

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

一種是:通過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對應(yīng)著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的相關(guān)屬性。children中的內(nèi)容是放在td中的。這個內(nèi)容就類似于上面的template。因為能操作td以及內(nèi)部的內(nèi)容,所以這種方法的靈活性更加高。對于單元格合并這種操作來說,只能通過customRender來了。

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

如果只是簡單的點擊事件,可以通過簡單地template調(diào)用點擊事件。也可以方便的傳參數(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">你點我呀</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)'這個地方值能傳進(jìn)去么?

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

第二次嘗試,借鑒下customRow

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>,得給他翻譯翻譯

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

再單獨把實現(xiàn)方法拿出來

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

看看效果

完美~~~

以上這篇vue用ant design中table表格,點擊某行時觸發(fā)的事件操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue如何獲取配置代理文件中的api地址值

    vue如何獲取配置代理文件中的api地址值

    這篇文章主要介紹了vue如何獲取配置代理文件中的api地址值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue頁面切換過渡transition效果

    vue頁面切換過渡transition效果

    這篇文章主要介紹了vue頁面切換過渡transition效果,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-10-10
  • Vue如何使用patch-package優(yōu)雅地修改第三方依賴庫

    Vue如何使用patch-package優(yōu)雅地修改第三方依賴庫

    在前端開發(fā)中,有時我們需要對第三方依賴庫進(jìn)行修改以滿足項目需求,patch-package 是一個優(yōu)秀的工具,可以幫助我們優(yōu)雅地管理這些修改,下面我們來看看具體操作吧
    2025-03-03
  • Vue3如何在SCSS中使用v-bind

    Vue3如何在SCSS中使用v-bind

    這篇文章主要介紹了Vue3如何在SCSS中使用v-bind,通過template先創(chuàng)建一個通用的頁面結(jié)構(gòu),本文結(jié)合實例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • 面試官問你Vue2的響應(yīng)式原理該如何回答?

    面試官問你Vue2的響應(yīng)式原理該如何回答?

    可能很多小伙伴之前都了解過?Vue2實現(xiàn)響應(yīng)式的核心是利用了ES5的Object.defineProperty?但是面對面試官時如果只知道一些模糊的概念。只有深入底層了解響應(yīng)式的原理,才能在關(guān)鍵時刻對答如流,本文就來和大家詳細(xì)聊聊,感興趣的可以收藏一下
    2022-12-12
  • Vue中實現(xiàn)動畫效果的多種方法小結(jié)

    Vue中實現(xiàn)動畫效果的多種方法小結(jié)

    平時我們能在網(wǎng)頁上看到很多動畫效果,這些效果看起來就很引人注目,我們是不是也可以在自己的項目中添加一些動畫效果,讓我們的頁面看起來更加的高端大氣上檔次,博人眼球,所以本文給大家介紹了Vue中實現(xiàn)動畫效果的多種方法,需要的朋友可以參考下
    2024-07-07
  • vue跳轉(zhuǎn)頁面的幾種常用方法代碼示例

    vue跳轉(zhuǎn)頁面的幾種常用方法代碼示例

    這篇文章主要給大家介紹了關(guān)于vue跳轉(zhuǎn)頁面的幾種常用方法,vue跳轉(zhuǎn)頁面有好幾種不同方法,文中通過代碼將實現(xiàn)的方法介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用vue具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-10-10
  • Vue學(xué)習(xí)筆記分享之Vue組件化編程

    Vue學(xué)習(xí)筆記分享之Vue組件化編程

    這篇文章主要介紹了Vue學(xué)習(xí)筆記分享之Vue組件化編程,文中把知識點都一一羅列出來了,方便整理學(xué)習(xí),需要的朋友可以參考下
    2023-03-03
  • Vue不能觀察到數(shù)組length的變化

    Vue不能觀察到數(shù)組length的變化

    因為vue的響應(yīng)式是通過 Object.defineProperty 來實現(xiàn)的,但是數(shù)組的length屬性是不能添加getter和setter,所有無法通過觀察length來判斷。這篇文章主要介紹了為什么Vue不能觀察到數(shù)組length的變化,需要的朋友可以參考下
    2018-06-06
  • Vue插件寫、用詳解(附demo)

    Vue插件寫、用詳解(附demo)

    本篇文章主要介紹了Vue插件寫、用詳解(附demo),插件就是指對Vue的功能的增強或補充。有興趣的可以了解一下。
    2017-03-03

最新評論

淳安县| 惠安县| 丽江市| 西安市| 长丰县| 海安县| 巍山| 福清市| 常宁市| 海宁市| 云和县| 岚皋县| 博爱县| 洛南县| 卢龙县| 社旗县| 抚州市| 社旗县| 平阴县| 长宁县| 吴旗县| 葫芦岛市| 东丽区| 长泰县| 阿拉善左旗| 汉源县| 怀远县| 滁州市| 兴文县| 靖宇县| 临安市| 大竹县| 驻马店市| 中西区| 海门市| 尉氏县| 德格县| 托克托县| 鸡泽县| 沐川县| 高碑店市|