【发布时间】:2021-12-01 15:30:41
【问题描述】:
我正在与BootstrapVue 合作。
我有以下问题。我有一个b-form-input,我在b-form-select 上搜索我的number。所以我选择了 3 个值并在我的输入字段和其他方式中获取一个数字 - 所以它是一个 自动填充。
这很好用 - 因此我认为我不需要向您展示代码。
问题是我想禁用所有选择(而不是第一个),直到之前的字段被选中。
我有一个问题,如果我有多个元素,所有元素都会被更新。因此,如果我在第一个元素的Input1 中输入一些内容,那么所有其他元素中的第二个Input 将是!disabled
附加信息:IDParent 是道具!
如果您需要任何其他代码,我可以更新我的问题!
<template>
<div>
<div class="mt-2" v-for="(IDChild, indexChild) in inputs" :key="indexChild">
<div>
<div class="mt-2">Number</div>
<b-form-input type="number" v-model="IDChild.Number" :value="IDChild.Number"></b-form-input>
</div>
<div>
<div class="mt-2">Input 1</div>
<b-form-select v-model="IDChild.Input1" :value="IDChild.Input1" :options="optionsInput1" @input="searchNumber(IDChild, IDParent, indexChild)"></b-form-select>
</div>
<div>
<div class="mt-2">Input 2</div>
<b-form-select :disabled="disabledInput2" v-model="IDChild.Input2" :value="IDChild.Input2" :options="optionsInput2" @input="searchNumber(IDChild, IDParent, indexChild)"></b-form-select>
</div>
<div>
<div class="mt-2">Input 3</div>
<b-form-select :disabled="disabledInput3" v-model="IDChild.Input3" :value="IDChild.Input3" :options="optionsInput3" @input="searchNumber(IDChild, IDParent, indexChild)"></b-form-select>
</div>
</div>
<!-- add new element when button was clicked -->
<div class="mt-4 mb-5 ml-3 mr-3">
<b-button @click="addElement"> Add Element </b-button>
</div>
</div>
</template>
我的脚本:
<script>
import json from "./json/json.json";
export default {
name: "Test",
methods: {
addElement() {
this.inputs.push({});
},
searchNumber(input, IDParent, indexChild) {
input.Number = "";
this.json.forEach((element) => {
if (
element.Input1 == input.Input1 &&
element.Input2 == input.Input2 &&
element.Input3 == input.Input3
) {
for (const key of Object.keys(element)) {
input[key] = element[key];
}
}
});
if(input.Input1) {
this.disabledInput2 = false;
}
if(input.Input2) {
this.disabledInput3 = false;
}
},
},
props: [
"IDParent",
],
data() {
return {
inputs: [{}],
json: json,
disabledInput2: true,
disabledInput3: true,
};
},
};
</script>
【问题讨论】:
-
能否提供定义
disabledInput2和disabledInput3的代码?如果我们不知道这些布尔值何时设置,我们不可能告诉你为什么它们会意外翻转 -
已更新 - 希望现在清楚了!
标签: javascript vue.js vuejs2 bootstrap-vue disabled-input