【问题标题】:Setting the default selected option for the b-form-select which will be created dynamically为将动态创建的 b-form-select 设置默认选择选项
【发布时间】:2021-10-29 16:55:40
【问题描述】:

我有一个 Vuejs 应用程序,我正在使用 Bootstrap-vue。一些字段将根据用户偏好动态创建。

例如,我有一个 Skills 字段,用户可以单击该字段的 Add 按钮,该按钮将显示 2 个下拉菜单。这些字段将动态添加到应用程序中。我想确保所有动态创建的下拉菜单都选择了默认选项。

如果它是直接字段,那么我可以设置 null 值并将其设为默认值,但对于动态情况,我不知道该怎么做。

以下是我的代码:

<button class="btn-btn-info" @click="addSkill($event)"> Add Skill </button> 
<span v-for="skill in $store.state.skillsList" :key="skill.ID" class="form-inline">
    <span class="horizontalSpace">
        <b-form-select v-model="skillArray.skillType[skill.ID]" class="form-control" @change="addSkillInformation(skill.ID);">
            <b-form-select-option value="null" disabled>Choose</b-form-select-option>
            <b-form-select-option value="set">Set</b-form-select-option>
            <b-form-select-option value="unset">Unset</b-form-select-option>
        </b-form-select>
    </span>
</span>

我只想知道如何为所有将根据Add Skill 选项动态创建的下拉菜单选择Set 选项。

我尝试了selected,但它似乎不适合我。

【问题讨论】:

    标签: javascript twitter-bootstrap vue.js drop-down-menu bootstrap-vue


    【解决方案1】:

    我在jsfiddle 重新创建了您的代码。检查。它可以按需要工作。

    所以我解释一下代码。

    您需要自动选择一个默认值,这意味着相关数据属性(附加到 v-model)应该有一个值,该值也应该在选项列表中可用。所以我在这里所做的是 b-form-select 的 v-model 将使用空值进行预定义。如果您不知道将有多少动态选择,则在组件上动态设置该数据属性。意味着您可以在挂载/创建时启动数据。

    代码

    <div id="app">
      <div class="w-100">
               <b-form-select v-for="(skill,index) in skillsList" v-model="selectedSkills[index]" class="form-control" >
                <b-form-select-option value="null" disabled>Choose</b-form-select-option>
                <b-form-select-option value="set">Set</b-form-select-option>
                <b-form-select-option value="unset">Unset</b-form-select-option>
            </b-form-select>
    </div>
    </div>
    

    脚本

     data() {
          return {
            selectedSkills : ['null','null','null'],
            skillsList : ['skill 01', 'skill 02', 'skill 03'],
          }
        },
    

    【讨论】:

    • 非常感谢您的回复。感谢您花时间提供解决方案。在您的情况下,您已经采用了 3 个技能并使用空值对其进行了初始化,因此默认情况下将选择它们。 Bootstrap-vue里面没有selected选项可以直接选择吗?因为创建另一个函数来跟踪这一点最终会产生大量额外的代码。如果我有 10-15 个下拉菜单,那么我需要单独管理它们。
    猜你喜欢
    • 2014-11-18
    • 2014-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-18
    • 2017-04-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多