vue循环对象数组以及v-model双向绑定值,选择框赋值以及对应选项卡隐藏显示
<div class="edit-F" v-for="(f, index) in familys">
<input type="text" name="name" placeholder="姓名" v-model="f.name"></input>
<input type="text" name="gender" placeholder="性别" v-model="f.gender" :data-index="index" @click="openGenderF1"></input>
<img src="./images/n.png" alt="" @click="openGenderF1" :data-index="index">
<ul :ref="'genf'+index" style="display: none;">
<li v-for="gender in genders" v-bind:key="gender" :data-sele="gender" @click="checkGenderF1">
{{gender}}</li>
</ul>
<input type="text" name="age" placeholder="年龄" v-model="f.age"></input>
<input type="text" name="tel" placeholder="电话" v-model="f.tel"></input>
<input type="text" name="size" placeholder="衣服码数" v-model="f.size" :data-index="index" @click="openSizeF1">
<img src="./images/n.png" alt="" @click="openSizeF1" :data-index="index">
<ul :ref="'siz'+index" style="display: none;">
<li v-for="size in sizes" v-bind:key="size" :data-sele="size" @click="checkSizeF1">
{{size}}</li>
</ul>
</div>
data() {
return {
familys: [{
name: '',
age: '',
gender: '',
size: '',
tel: ''
}],
genders: [
'男',
'女'
],
}
},
methods: {
openGenderF1(e) {
this.findex = e.target.getAttribute('data-index')
const index = 'genf' + this.findex
const el = this.$refs[index]
this.el = el
el.style.display = "block"
console.log(index, el)
},
checkGenderF1(e) {
const index = this.findex
this.familys[index].gender = e.target.getAttribute('data-sele')
this.el.style.display = "none"
},
}