Я не совсем уверен, чего вы пытаетесь достичь. Если вы пытаетесь создать список бухгалтерских книг, ваш код нуждается в некоторых модификациях.
Таким образом, цель заключается в следующем:
- Выберите один из вариантов выбора
- Нажмите add
- Выбранное значение будет сохранено в массиве
Первая проблема в вашем коде - это опечатка в свойстве select v-model
. Во-вторых, когда вы выбираете значение legeder_cash_in.income будет равно 1, но вы не помещаете это значение в свой массив, вместо этого вы добавляете ему новый объект с ключевым доходом со значением ''.
вы можете проверить его здесь . Поэтому, если вы пытаетесь получить массив объектов с ключом дохода, в котором значение этого ключа является выбранной вами опцией выбора, вы должны сначала добавить новую переменную в экземпляр, чтобы сохранить выбранное значение из входных данных, а затем включить В вашем методе AddNewRow вы можете создать sh объект с ключом дохода, который содержит созданную вами новую переменную.
вот так:
var app = new Vue({
el: "#ledger",
data: {
selectedValue: '',
ledger_cash_ins: [],
},
methods:{
addNewRow() {
this.ledger_cash_ins.push({
income: this.selectedValue,
});
}
}
});
и в вашем HTML измените v-model
на selectedValue:
<select name="income[]" id="" v-model="selectedValue" class="js-example-basic-single">
<option value="">...</option>
<option value="1">Ledger 1</option>
<option value="2">Ledger 2</option>
<option value="3">Ledger 3</option>
@foreach ($ledger_category as $cat)
<optgroup label="{{ $cat->inv_ledg_cat_category_name }}">
@foreach ($cat->getLedgers as $ledg)
<option value="{{ $ledg->inv_ledg_id }}">{{ $ledg->inv_ledg_ledger_name }}</option>
@endforeach
</optgroup>
@endforeach
</select>
<button type="button" class="btn btn-success btn-xs" @click="addNewRow()">
<i class="fa fa-plus"></i>Add
</button>
здесь является рабочий образец.
Имеет ли это смысл?