javascript - vuejs 根据条件选择选项更改

标签 javascript vue.js bootstrap-vue

我尝试从表单输入中获取用户输入值。然后选择选项将根据用户输入值禁用某些选择。如何在 vuejs 中实现此功能?我正在使用 bootstrap-vue 框架。例如:

表单输入:(用户将在此处键入随机动物名称)

<b-form-input type="text" v-model="animal_name"></b-form-input>

表单选择:(在此示例中,我假设用户将输入“fish”)

<b-form-select class="mb-2 mr-sm-2 mb-sm-0"
                           v-model="selectedAnimalType"
                           :options="animalType"
                         >
                        </b-form-select>

当用户第一次输入时,会自动禁用不属于鱼的选项。

如何使用vuejs实现这个功能?

最佳答案

使用计算属性并过滤选择选项:

computed: {
  filteredAnimalType () {
    if (this.animal_name) {
      // if animalType is a string array
      return this.animalType.filter(t => t.includes(this.animal_name))
      // otherwise filter on the desired property, e.g. t.taxonomy
    }
    return this.animalType
  }
}

然后将选项绑定(bind)为 :options="filteredAnimalType"

关于javascript - vuejs 根据条件选择选项更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53829397/

相关文章:

javascript - 更新 Vue 中的 b-form-checkbox

twitter-bootstrap - 使单选按钮组全宽 BootstrapVue

javascript - 当有内部循环时, map 没有返回数组

javascript - 尝试仅让图像在视口(viewport)下方淡入滚动

javascript - 带有 Webpack 的 VueJS : imports and exports not working as expected

css - 导航栏上的下拉菜单位于其他组件下方

javascript - 我试图使用复选框打开侧面导航栏,但是当我选中该框时,侧边栏不会出现

javascript - 使用 jquery 动态添加字幕内容

vue.js - 如何使用vite和yarn创建vue项目

javascript - Vue.js - 观察数据变化