【发布时间】:2018-09-15 01:13:28
【问题描述】:
我正在处理一个编辑表单,碰巧我有几个选项可供选择,这些选项是通过带有 axios 的 ajax 获得的,我将它们分配给稍后通过 v-for 呈现的组件的变量 permisos,选中的元素我将它们放在数组selected 中,该数组分配给 vue-model,如下所示
<div class="row">
<div v-for="permiso in permisos" class="col-md-5 col-12 col-sm-5" >
<input type="checkbox" :value="permiso.id"
class="form-control" :id=permiso.id
v-model="selected" :checked=selected.filter(e => e.id === permiso.id).length > 0 > {{ permiso.name}}
</div>
</div>
稍后我进行另一个 ajax 调用以了解在编辑项目之前我有哪些选项以了解哪些选项或复选框我将分配选中的属性,这是我遇到问题的地方没有正确检查。
axios.get('api/allpermisos')
.then(response =>{
this.permisos = response.data; //dataok
})
if(this.action===2){
axios.get('api/allpermisos/'+ this.dataobject.id)
.then(response =>{
this.selected = response.data;//data ok
})
}
当我从已选择的选项中获取 ajax 调用时,我该怎么做才能自动分配选中的属性,而没有分配的属性不会被分配。尝试包含但我没有想要的结果?
如果我删除 v-model,代码可以正常工作。为什么会这样?
<input type="checkbox" :value="permiso.id" class="form-control"
:id=permiso.id :checked=selected.filter(e => e.id === permiso.id).length > 0 > {{ permiso.name}}
【问题讨论】:
标签: javascript vue.js vuejs2