我爱吃西瓜喵 2019-04-01 18:12 采纳率: 33.3%
浏览 2010
已采纳

多个form表单数据一修改全变了,求解

如图所示:

图片说明

<div v-for="(item,index) in items" :key="index">
   <el-form
      :inline="true"
      :model="formObj"
      class="demo-form-inline"
      size="mini"
      label-position="right"
    >     
    <el-form-item label="名称1">
        <el-select v-model="formObj.name" >
            <el-option label="A0001" ></el-option>
            <el-option label="A0002"></el-option>
        </el-select>
    </el-form-item>
     <el-form-item label="名称2">
         <el-select v-model="formObj.name2">
              <el-option label="0001"></el-option>
              <el-option label="0002" ></el-option>
          </el-select>
    </el-form-item>
    <el-form-item label="金额">
        <el-input v-model="formObj.amount"></el-input>
     </el-form-item>
     <el-form-item label="座位">
         <el-input v-model="formObj.seat"></el-input>
     </el-form-item>
    </el-form>
</div>

点击新增按钮,表单新增一行

<el-button @click="add" >新增</el-button>
data(){
    return {
      formObj: {
        bondName: "",
        etName: "",
        purchaseAmount: "",
        seat: ""
      },
      items: [],
      text: 0
    }
}
methods:{
 add: function() {
      this.items.push(this.text++);
    }
}

但是问题是,修改一行数据,所有的数据都变了,想着可以用作用域插槽,但是不知道怎么添加。。求解

  • 写回答

3条回答 默认 最新

  • 我爱吃西瓜喵 2019-04-02 16:16
    关注
    <el-form-item label="名称1">
            <el-select v-model="modelValObj[index]" >
                <el-option label="A0001" ></el-option>
                <el-option label="A0002"></el-option>
            </el-select>
        </el-form-item>
    

    index为div循环的下标
    然后再data中定义一个modelValObj空对象来存储

    methods:{
     add: function() {
          this.modelValObj["val" + this.text++] = '';
          this.items.push(this.text++);
        }
    }
    
    

    每新增一个,就将该列新增的下标分别存进modelValObj里,以空字符串保存即可
    然后就可以神奇的实现了!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容