表格里给每一行动态添加ref

首先需要在表格里拿到下标
借用 row-class-name 属性来给表格附上 index
表格上添加 :row-class-name=“getRow”

<el-table :data="tableList" :row-class-name="getRow">
<el-table>
 getRow({row,rowIndex}) {
      row.index = rowIndex;
    },

使用:ref="name${index}" ,为每一项动态添加ref
比如:

 <el-table-column property="consumer_offset" label="consumerOffset">
      <template slot-scope="scope">
            <p
              :ref="`inputbox${scope.row.index}`"
              :contenteditable="scope.row.Editsave"
              style="border:none;background-color:transparent"
            >{{scope.row.consumer_offset}}</p>
       </template>
</el-table-column>

划重点 :ref="inputbox${scope.row.index}"

取值方法:this.$refs[inputbox${row.index}].innerText

顺利拿到想要的值

Vue3中的`el-table`组件支持虚拟化,这在处理大量数据时可以提高性能。如果你想在某一行添加事件,通常我们会使用`row-click`事件或者通过模板插槽来自定义单元格内容。下面是一个例子,展示如何在`el-table`的某一行添加点击事件: ```html <template> <el-table :data="tableData" @row-click="handleRowClick"> <el-table-column prop="date" label="日期" width="180"> </el-table-column> <el-table-column prop="name" label="姓名" width="180"> </el-table-column> <!-- 其他列 --> </el-table> </template> <script setup> import { ref } from 'vue'; const tableData = ref([ // 表格数据 ]); const handleRowClick = (row) => { // row即为点击行的数据对象 console.log('当前行的数据:', row); // 在这可以添加你的业务逻辑处理代码 }; </script> ``` 在这个例子中,`el-table`组件的`row-click`事件被用来监听行的点击事件。每当用户点击某一行时,`handleRowClick`方法会被触发,并且被点击的行数据作为参数传递给该方法。 你也可以使用作用域插槽来自定义行内容,包括在其中添加事件。作用域插槽允许你访问行数据和其他行级的属性: ```html <template v-slot="{ row }"> <el-table-column prop="date" label="日期" width="180"></el-table-column> <el-table-column prop="name" label="姓名" width="180"></el-table-column> <!-- 使用作用域插槽来自定义最后一列 --> <el-table-column label="操作" width="180"> <template v-slot="scope"> <el-button @click="handleButtonClick(scope.row)">点击我</el-button> </template> </el-table-column> </template> ``` 在这个作用域插槽的例子中,我们添加了一个按钮,并且绑定了`handleButtonClick`方法,当按钮被点击时,该方法会被触发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值