table表格中vue前端input输入框输入任意一行后面的输入框跟着一起改变是什么原因

table表格中vue前端input输入框输入任意一行后面的输入框跟着一起改变是什么原因

img

上面的回答对也不对,原因是你插入的行地址都指向了同一个地方。插入新行需要对要插入的初始化数据进行一个深拷贝。

在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>