V模型本身的Vue变更键

时间:2018-11-28 09:36:20

标签: json vue.js vuejs2

现在有点卡住了,找不到任何东西。

我有一个类似json的

rows: {
    someKeyName: 'test'
}

现在,我想将“ someKeyName”更改为“ myNewKeyName”。

我从这里开始

<section class="row" v-for="(value, key) in rows">
    <input type="text" v-model="........."/> <-- change key itself.. how...
    <input type="text" v-model="rows[key]"/> <-- change value of the key
</section>

但是卡在“更改密钥本身”部分。希望我能解释我的意思,谢谢阅读!希望有人可以帮助我

2 个答案:

答案 0 :(得分:0)

您无法使用v-model更改密钥本身。将地图复制到数组中,然后编辑副本,完成后,清除地图并再次添加键/值。

示例:

{ '101':'Clark', '102','Stephanie' }

复制到新数组

[ {id: '101', name:'Clark'}, {id: '102', name:'Stephanie'} ]

然后,您可以使用v-model编辑此数组。

当用户单击“保存”或失去焦点时,您可以将值复制回地图/对象/词典中。

答案 1 :(得分:0)

  

您可以尝试:

<section class="row" v-for="(value, key) in rows" :key="key">
    <input type="text" v-model="inputValue" @input="userInput(key)" />
</section>

data() {
    return {
        inputValue: '',
        rows: {
            a: 12
        }
    }
},
methods: {
    userInput(key) {
        // here you change the rows key
    }
}