<template>
<select v-model="val">
<option>A</option>
...
</select>
</template>
<script>
export default {
data(){
return {
val: ''
};
}
};
</script>
作者:TerryZ链接:https://www.zhihu.com/question/306825754/answer/558858398来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。循环生成的 form elements 绑定 v-model 也使用一个数组就好了,例如:
<template>
<p v-for="(item,index) in list">
<label v-text="item"></label>
<select v-model="models[index]">
<option>A</option>
...
</select>
</p>
</template>
<script>
export default {
data(){
return {
list: ['a', 'b', 'c', 'd'],
models: Array(list.length).fill('')
};
}
};
</script>作者:TerryZ链接:https://www.zhihu.com/question/306825754/answer/558858398来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。原理就是根据你的动态元素个数来生成相应长度的数组,指定 v-model 就是数组与数组间的下标一一对应,那么这个 models 里收集到的就是你所有动态生成元素的输入内容,当然不仅仅是数组,使用一个 Object 来收集也是可以,道理一样。
记录一下免得忘了
随时随地看视频