el-table行内添加 后v-model.number 失效如何解决
时间: 2023-07-06 17:09:59 浏览: 96
如果在 `el-table` 中添加了行内编辑功能,并且在编辑时使用了 `v-model.number`,但是发现无法正常更新数据,可能是因为 `el-table` 中使用了虚拟 DOM 技术,导致数据更新时无法正确触发更新。
解决这个问题可以借助 `key` 属性,为每一行数据绑定唯一的值,使得在数据更新时能够正确触发更新。具体的做法是在 `el-table` 的 `template` 中的 `el-table-column` 标签中添加 `:key="scope.row.id"` 属性,其中 `id` 是每一行数据的唯一标识符,可以替换为实际的字段名。
以下是一个示例代码,演示如何在 `el-table` 中使用行内编辑功能并绑定 `v-model.number`:
```html
<el-table :data="tableData">
<el-table-column label="姓名" prop="name"></el-table-column>
<el-table-column label="年龄">
<template slot-scope="scope">
<el-input v-model.number="scope.row.age" :key="scope.row.id"></el-input>
</template>
</el-table-column>
</el-table>
```
在上面的代码中,我们为年龄字段添加了行内编辑功能,并使用了 `v-model.number` 绑定数据。同时,为了解决数据更新问题,我们在 `el-input` 标签中添加了 `:key="scope.row.id"` 属性,使得每一行数据都拥有唯一的标识符。这样就可以正确触发数据更新了。
阅读全文