2

我正在使用 VueJS,或者更准确地说是Bootsrap-Vue (select form type)。在模板中,我有以下代码:

<b-form-select>                   
  <option v-for="(selectOption, indexOpt) in item.select.options" 
         :selected="selectOption == item.select.selected ? 'selected' : ''"
         :key="indexOpt"
         :value="selectOption"
  >
    {{ selectOption }} - {{ selectOption == item.select.selected }}
  </option>
</b-form-select>

其中对应的数据定义为:

let item = {
  label: "some text goes here",
  inputType: 'text',
  select: {
      selected: '15',
      options: [
         '5',
         '10',
         '15',
         '20'
      ]
  }
}

从 UI 中的输出,我们可以看到条件被正确评估(检查项目“15”的条件返回“真”)。选择控件如下所示:

在此处输入图像描述

如果我检查 HTML,它看起来像:

在此处输入图像描述

但是,我在这里需要的是,能够在加载控件期间将传递的参数放入“ item.select.selected ”以实际显示选择控件中要预选的选项(在页面加载时)。在我尝试的许多选项中,我的选择控件在页面加载时没有被选中。

有什么办法可以做到这一点?

4

1 回答 1

5

您可以将默认值直接绑定到<select>with v-model。如果将其绑定到item.select.selected它应该在选择中显示它。

<b-form-select v-model="item.select.selected">                   
    <option v-for="(selectOption, indexOpt) in item.select.options" 
        :key="indexOpt"
        :value="selectOption"
    >
        {{ selectOption }} - {{ selectOption == item.select.selected }}
    </option>
</b-form-select>

这是显示默认值的代码:https ://jsfiddle.net/adampiziak/eywraw8t/146114/

文档:https
://vuejs.org/v2/guide/forms.html#Select another answer:将默认值设置为选项选择菜单

于 2018-07-07T02:03:02.563 回答