【发布时间】:2020-08-31 22:44:25
【问题描述】:
有我的数据。
{
"columns":[ "first_name", "last_name", "email", "country", "age", "gender" ],
"peoples":[
{
"first_name":"Anik",
"last_name":"Datta",
"email":"aunik@mail.me",
"custom_fields":{
"age":17,
"gender":"male"
}
},
{
"first_name":"John",
"last_name":"Doe",
"email":"john@mail.me",
"custom_fields":{
},
{
"first_name":"John",
"last_name":"Doe",
"email":"john@mail.me",
"custom_fields":{
"age": 22
}
}
]
}
我想像这样在文本框中显示这些, 标签将是列中的数据,下面将有文本框填充来自“peoples”键的数据。
first_namelast_nameemailcountryagegender
文本框出现在下列列名下方。
模板:
<div class="peoples">
<h5>Peoples</h5>
<div class="row">
<div v-for="column in columns"
:class="`col-${Math.ceil(12/columns.length}`">
<label>{{$t(column)}}</label>
<app-input
:key="index"
:name="column + index"
:id="column + index"
v-for="(contacts, index) in peoples"
:value="setFieldValues(contacts, column)"
/>
</div>
</div>
</div>
脚本:
data() {
return {
contacts: [],
}
},
methods: {
setFieldValues(contacts, column) {
if (contacts['custom_fields'][column] !== undefined) {
return contacts['custom_fields'][column];
}
if (contacts[column] !== undefined) {
return contacts[column];
}
}
},
它可以很好地填充数据,但是在控制台中显示61个错误,因为没有与数据的2路绑定。 在这种情况下如何在数据中绑定这些动态字段?
【问题讨论】:
标签: javascript vue.js vuejs2 vue-component v-model