table表格中vue前端input输入框输入任意一行后面的输入框跟着一起改变是什么原因
上面的回答对也不对,原因是你插入的行地址都指向了同一个地方。插入新行需要对要插入的初始化数据进行一个深拷贝。
在template标签里面加上slot-scope="scope"
把v-model绑定的字段前面加上scope.row的前缀
你这所有的输入框都绑定的是同一个值,应在每一个数据中加一个对应的变量
v-mode绑定一样的值了。
楼上说的都对
<el-table-column>
<template slot-scope="scope">
<input type="text" v-model="scope.row.score" />
</template>
</el-table-column>
控件名称应该绑定对应的数组名称及下标。
用数组来实现v-model,而不是全部公用一个变量,类似下面的实例,有帮助麻烦点个采纳【本回答右上角】,谢谢~~
<div id="app">
<div v-for="item in arr">
<input type="text" v-model="item.name" />
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
var vue=new Vue({
el: '#app',
data: {
arr: [{ name: 'abc1' }, { name: 'abc2' }]
}
});
</script>