Я добавляю один объект при нажатии на кнопку и отображаю его в HTML. Пользователь может выбрать выпадающие значения в настройках (строка или число). На основе ввода необходимо отключить или включить следующее поле ввода текста. Вот мой код HTML,
<table>
<tr><button @click="add_new_input()">Add </button></tr>
<tr v-for="(key, index) in NewArr" v-bind:key=value>
<td>
<multiselect
v-model="key.name"
:options="NameList"
selectLabel='select'
@input="userInput(value)"
></multiselect>
</td>
<td class="modify-td-padding__multi">
<input type="text"
v-model="key.value"
:disabled="isNumber"
class="input-increase-height">
</td>
</tr>
</table>
, если мы изменим выпадающий список key.name, он вызовет одну функцию userInput (), используя @input. передаваемое значение будет либо «строка», либо «число». Vue Методы приведены ниже,
userInput: function (value) {
this.getInputType(value);
},
getInputType: function (value) {
if(value === "string") {
this.isNumber = false;
} else {
this.isNumber = true;
}
},
add_new_input: function () {
let vm = this;
vm.NewArr.push({
name: '',
value: '',
});
vm.$set(vm.NewArr, vm.name, vm.value);
}
add_new_input добавит новый объект в NewArr, функция getInputType проверит, является ли значение "string" или "number". Если это «строка», текстовое поле должно быть отключено, иначе включено.
Моя проблема в том, что если есть две строки, и если я выбираю key.name для 2-й строки, это влияет и на поле ввода первой строки (key.name для обеих строк, включаемых или отключаемых). Мне нужно внести изменения только в указанном c текстовом поле. Таким образом, все текстовые поля становятся отключенными, даже если это «число». Это мой первый проект в VueJS. Большое спасибо, если кто-нибудь поможет мне в этом. Заранее спасибо.