在使用vue进行前端开发时,可能会遇到循环渲染input输入框的需求,当使用v-for循环后,对v-model进行值的绑定时,可能会出现以下错误,如图所示:
v-model cannot be used on v-for or v-slot scope variables because they are not writable.
错误代码:
<template v-for="(item, index) in dataArray" :key="index">
<el-form-item>
<el-input v-model="item" />
</el-form-item>
<el-form-item>
<el-input v-model="item" />
</el-form-item>
</template>
通过查阅文档发现,v-model 不可以直接修改 v-for 循环迭代时别名上的数据
解决方法:
我们可以使用对象的索引来进行v-model的值的绑定。文章来源:https://www.toymoban.com/news/detail-594903.html
<template v-for="(item, index) in dataArray" :key="index">
<el-form-item>
<el-input v-model="dataArray[index]" />
</el-form-item>
<el-form-item>
<el-input v-model="dataArray[index]" />
</el-form-item>
</template>
通过以上的方法就可以完美解决了。文章来源地址https://www.toymoban.com/news/detail-594903.html
到了这里,关于解决:v-model cannot be used on v-for or v-slot scope variables because they are not writable.报错问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!