总结:
利用 :row-class-name=“tableRowClassName” 属性给每一行row的数据对象里添加index属性。

第一步:
给el-table,添加:row-class-name="tableRowClassName"和
@row-click=“clickRow”

<el-table 
      :row-class-name="tableRowClassName"
      :data="tableList"
      border
      stripe
      fit
      highlight-current-row
      @row-click="clickRow"
    >

第二步: 在method里声明方法
tableRowClassName 方法里有两个参数,row和rowIndex
row是每一行的数据对象。rowIndex是每一行的索引值。当row.index时候,如果row对象里没有index属性,会自动创建此属性。

 // 把每一行的索引放进row
    tableRowClassName({ row, rowIndex }) {
      row.index = rowIndex;
 }

在method里声明方法:clickRow
(记得在data里声明index变量)

    async clickRow(row) {
      if (row.index !== this.index) {
            如果点击的当前行的索引 不同的时候,进行一些操作,比如访问接口请求参数,如果一样的话,就不做请求,还是原来的数据。
      }
      //让点击的这行索引赋值给变量index
      this.index = row.index;
    }
Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐