多个el-select push数组问题?
A和B选项(el-select)是动态新增的,请问选择后如何把A和B的值push到数组中呢?

回答:
应该是本来就是数组中的元素才对。
arr = [    {a: '', b: ''},
    {a: '', b: ''},
]
add(){
    this.arr.push({a: '', b: ''})
}
remove(i){
    this.arr.splice(i, 1)
}
template 大概是下面这样
<div v-for="item in arr">
A: <select v-model="item.a"> </select>
B: <select v-model="item.b"> </select>
</div>
参考这个 https://jsrun.net/ZmcKp/edit

本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
回答:
找了个简单例子,希望对你有所启发【其实改动改动就能用了~?】
<template>  <div>
    <div v-for="(item, index) in dataList" :key="index">
      <span>{{ item.name }}:</span>
      <el-select v-model="item.selectedColor" :options="item.colors" @change="selectColor(index)"></el-select>
      <br>
    </div>
    <el-button @click="updateData">修改数据</el-button>
  </div>
</template>
<script>
export default {
  data() {
    return {
      dataList: [
        {
          name: '商品1',
          colors: ['红', '绿', '蓝'],
          selectedColor: ''
        },
        {
          name: '商品2',
          colors: ['黑', '白', '灰'],
          selectedColor: ''
        },
        // ... 其他商品数据
      ],
      selectedIndex: -1 // 初始化要修改的商品索引为 -1
    }
  },
  methods: {
    selectColor(index) {
      this.selectedIndex = index; // 保存要修改的商品索引
    },
    updateData() {
      if (this.selectedIndex === -1) {
        return; // 如果没有要修改的商品索引,直接返回
      }
      this.dataList[this.selectedIndex].colors[0] = '黄'; // 修改商品的颜色数组
      this.dataList[this.selectedIndex].options = this.dataList[this.selectedIndex].colors; // 更新商品的 options 属性
    }
  }
}
</script>
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
以上是 多个el-select push数组问题? 的全部内容, 来源链接: utcz.com/p/933785.html
