Как динамически добавлять поля ввода на основе данных json в vue js HTML?
Мои данные JSON
[ { "_id": "5b052126c3a5552bac060fab", "refId": 7929, "type": "text", "text": "Indian Act 1931", "__v": 0, "feilds": [ { "refId": 7912, "name": "arms(if any)", "_id": "5b052126c3a5552bac060fac", "sections": [], "subFeilds": [] } ] }, { "_id": "5b05244f90a7000f44bcbbb6", "refId": 7930, "type": "text", "text": "Narcotic", "__v": 0, "feilds": [ { "refId": 7913, "name": "qty", "_id": "5b05244f90a7000f44bcbbb7", "sections": [], "subFeilds": [] } ] }, { "_id": "5b052b4090a7000f44bcbbbf", "refId": 7933, "type": "option", "text": "Ker", "__v": 0, "feilds": [ { "refId": 7918, "name": "wild", "_id": "5b052b4090a7000f44bcbbc2", "sections": [ "sec1", "sec2" ], "subFeilds": [ { "refId": 17890, "name": "qty", "_id": "5b052b4090a7000f44bcbbc4" }, { "refId": 7891, "name": "item", "_id": "5b052b4090a7000f44bcbbc3" } ] }, { "refId": 7919, "name": "enc", "_id": "5b052b4090a7000f44bcbbc0", "sections": [ "sec2" ], "subFeilds": [ { "refId": 7892, "name": "qty", "_id": "5b052b4090a7000f44bcbbc1" } ] } ] } ]
Сначала мне нужно показать варианты как
<div id="add"> <div class="card-content" v-for="(bok, index) in rules" :key="index"> <select class="form-control" v-model="bok.name" name="type" > <option value="" selected disabled hidden>Choose Type here</option> <option v-for="post in data" v-bind:value="post.refId" >{{post.text}}</option> </div> </select> </div> </div>
Итак, если я наберу опцию 1(refId:7929), мне нужно показать поля ввода
имя : оружие(если таковое имеется) с типом="текст".
Мне нужно отобразить следующее поле ввода, если я выберу refId:7929. Мне нужно динамически сформировать следующее поле на основе приведенных выше данных json.
Оружие(если таковое имеется)
Если я выберу опцию 3:refId:7933, я должен выбрать опцию, имеющую как wild, так и enc. Если я выберу опцию wild, я должен показать поля ввода как qty, так и item. Если я выберу опцию enc, то я должен показать поле ввода с именем qty.
Мой код vue js таков
приложение = новый Vue({
Эл: "#приложение",
данные: {
правила : [{
наименование:нулевой,
раздел:null,
данные : [{head:null,value:null}]
}],
данные:[],
},
установил: функция() {
var vm = это;
$.Аякс({
URL-адрес: "http://localhost:4000/get/acts",
метод get",
тип данных: "JSON",
успех: функция(e) {
if (e.status == 1) {
ВМ.данные = е.данных; сведения //в JSON
};
},
});
},
handleSubmit: функция(e) {
--запрос AJAX--
}
}
})
;
Как я могу достичь вышеуказанного результата? Я заглянул в несколько учебников, но ни один из них не дал ответа. Я новичок в кодировании и не имею большого представления. Если бы кто-нибудь мог помочь мне найти решение.
Заранее спасибо. Пожалуйста, не понижайте голос. Смиренная просьба об ответе
Что я уже пробовал:
<div id="add"> <div class="card-content" v-for="(bok, index) in rules" :key="index"> <select class="form-control" v-model="bok.name" name="type" > <option value="" selected disabled hidden>Choose Type here</option> <option v-for="post in data" v-bind:value="post.refId" >{{post.text}}</option> </div> </select> </div> </div>