我在 data() 中有这个变量:
jsonStatham: {
"uniqueOne": {
"field1": "",
"field2": "",
"field3": "",
"field4": "",
"field5": "",
"freeTextArea": ""
},
"uniqueTwo": {
"field1": "",
"field2": "",
"field3":"",
"field4":"",
"field5":"",
"freeTextArea":""
},
"uniqueThree": {
"field1": "",
"field2": "",
"freeTextArea": ""
}
},
我想要的是检查此输入字段中是否有值:
<input type="text" name="platform" placeholder="Platform" id="platform" v-model="platform" required/>
正在匹配“jsonStatham”(uniqueOne/Two/Three)的其中一个键,然后将匹配键的键推送到数组中。所以如果输入 === uniqueOne,那么这个数组:
inputFields: [
],
看起来像这样:inputFields["field1","field2","field3","field4","field5"]
这就是我尝试过的:
appendFields() {
for (const [key, value] of Object.entries(this.jsonStatham)) {
if(this.brand === this.jsonStatham[key]){
//console.log("Brand =>", this.brand)
}
//console.log(`${key}: ${value}`);
this.inputFields.push({
[key]:value
})
}
//console.log("ALL input Fields: \n",this.inputFields)
},
我在 inputFields 中得到的是“uniqueOne”、“uniqueTwo”、“uniqueThree”
答案 0 :(得分:0)
这应该可以解决问题:
if(Object.keys(this.jsonStatham).includes(this.brand) )
这将是 True 数组 ["uniqueOne","uniqueTwo","uniqueThree", ..etc] 将包含 this.brand
this.inputFields.push(...Object.keys(value))
答案 1 :(得分:0)
if (this.jsonStatham.hasOwnProperty(this.brand)) {
this.inputFields.push(...Object.keys(this.jsonStatham[this.brand]));
}