v-for 循环时直接使用 v-model 绑定value报错
v-for 循环时直接使用 v-model 绑定value报错
报错vue v-model directives cannot update the iteration variable ‘x’ itself
将 v-model 直接绑定到 v-for 迭代别名。这将无法修改 v-for 源数组,因为写入别名就像修改函数局部变量一样。考虑使用一个对象数组并在对象属性上使用 v-model。
原因:v-model 不可以直接修改 v-for 循环迭代时别名上的数据,但是,可以通过 index 下标来引用所需的数据,可以达到相同目的
<FormItem v-if="outputNameList.length !== 0" :label-width="40">
<CheckboxGroup v-model="formItem.exposedOutput" @on-change="configChanged('exposedOutput')">
<Checkbox v-for="(value,index) in outputNameList" :key="'outputCheckbox'+ index" :label="value">
// 原始checkbox的选项展示用span,想改为input,可以修改选项
<!--<span>{{value}}</span>-->
// 直接绑定 v-for循环的value成员会报错
// <Input v-model="value"/>
// 可以通过 index 下标来引用所需的数据,可以达到相同目的
<Input v-model="outputNameList[index]"/>
</Checkbox>
</CheckboxGroup>
</FormItem>