【问题标题】:VueJS: How to create v-model value inside object arrayVueJS:如何在对象数组中创建 v-model 值
【发布时间】:2020-03-25 09:40:32
【问题描述】:

我有几个这样的输入字段:

<input type=text" v-model="InputVModel1">
<input type=text" v-model="InputVModel2">

我想将这些 v-model 值放在对象数组中,如下所示:

array = [{id:1,value:InputVModel1},{id:2,value:InputVModel2},..]

实现这一目标的最佳方法是什么? 是否在计算值中使用 $set 将它们“推送”到数组中,例如:

    computed: {
        computed_array: function(){ 
            object= {"id":1,"value":InputVModel1}
            this.$set(this.array, object) //push them with a for loop
            [..]
        }
    }

或者有没有更优雅的方法来做到这一点?

背景:我想使用“vuedraggable”的最终数组来更改对象的顺序,同时为每个值保留其他重要的元信息。

【问题讨论】:

    标签: vue.js object v-model


    【解决方案1】:

    new Vue({
      el: '#app',
      
      data: {
        list: [
          { id: 1, value: 'foo' },
          { id: 2, value: 'bar' },
          { id: 3, value: 'baz' } 
        ]
      }
    })
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
    
    <div id="app">
    
      <div
        v-for="(record, i) in list"
        :key="i"
      >
        {{ record.id }}
        <input v-model="record.value"/>
        {{ record.value }} <!-- To check if value key is updating in the list -->
      </div>
    
    </div>

    PS:使用list(最终数组)和vue-draggable

    【讨论】:

    • 很好,看来我又把事情复杂化了。谢谢@Shivam,为你点赞并“接受”。 (我的点赞还不算数,因为我的声望不到 15,正在努力。)
    猜你喜欢
    • 2023-03-04
    • 2018-11-04
    • 2019-02-07
    • 2020-07-15
    • 2020-03-02
    • 2020-01-02
    • 1970-01-01
    • 2020-04-16
    • 2020-05-05
    相关资源
    最近更新 更多