Я создаю логику с 2 вложенными полями выбора, в основном загружаю json файл и передаю данные в массив в моем компоненте vuejs, json содержит логику для блока выбора 2, например, для Business Developemnt, который я хочу загрузить в второе поле "Финансовое предложение" и "Основная лицензия"...:
{
"Business Development": [
{
"text": "Financial Proposal",
"key": 1
},
{
"text": "Master Licence and Service Agreement",
"key": 2
},
{
"text": "Non-Disclosure Agreement",
"key": 3
},
{
"text": "Relatório de Missão",
"key": 4
}
],
"Configuration Management": [
{
"text": "Configuration Management Plan",
"key": 1
},
{
"text": "Configuration Management Plan For Implementation Projects",
"key": 2
}
Я уже что-то делаю, проблема в том, что когда я меняю первый флажок, второй пуст в позиции 1, вот так:
вот мой код:
<template>
<div class="row margin-above2 box">
<h3 class="text-center">Template</h3>
<img width="70px" height="70px" class="img img-responsive" src="static/img/word.png">
<form class="box-body form-horizontal">
<div class="form-group">
<div class="col-sm-12">
<select class="form-control" v-model="docData.documentType">
<option v-for="(item,index) in documentNested">
{{ index }}
</option>
</select>
</div>
</div>
<div class="form-group">
<div class="col-sm-12">
<select class="form-control" v-model="docData.documentSelection">
<option v-for="(item,index) in documentNested[docData.documentType]">{{item.text}}</option>
</select>
</div>
</div>
</form>
</div>
</template>
<script>
import data from '../../interfaceData/documentType.json'
import permissions from '../../interfaceData/permissions.json'
export default {
name: 'app',
data () {
return {
checked: false,
documentNested: data,
permissions: permissions,
listItems: [],
documentData: []
}
},
благодарю вас! :)
Вам не хватает привязки value
для каждой опции, которая должна быть значением, которое представляет этот параметр.
<option v-for="(item,index) in documentNested[docData.documentType]" :value="item">{{item.text}}</option>
и для автоматического выбора, когда изменяется первый выбор, вы можете использовать наблюдателя
watch: {
'docData.documentType'(val) {
this.docData.documentSelection = this.documentNested[val][0];
}
}
Я попытался имитировать ваш компонент здесь, возможно, это поможет вам