将默认值设置为选项选择菜单

mar*_*llo 30 vue.js vue-component vuejs2

我想将自定义属性绑定到选项选择菜单.该<option>标签只会有一个属性selected="selected"

<template>
  <div>
    <select>
      <option v-for="" v-bind:selected="[condition ? selected : notSelected]" value="">{{ resource.xprm_name }}</option>
    </select>
  </div>
</template>

data: {
  selected: "selected",
  notSelected: ""
}
Run Code Online (Sandbox Code Playgroud)

这不起作用,但如果我v-bind:selected改为v-bind:class那么它会收到相应的类,因此逻辑正在工作,但不是selected属性.

有什么方法可以使用这些自定义属性吗?

cra*_*g_h 53

您可以使用v-model在选择框中选择默认值:

标记:

<div id="app">
  <select v-model="selected">
     <option value="foo">foo</option>
     <option value="bar">Bar</option>
     <option value="baz">Baz</option>
  </select>
</div>
Run Code Online (Sandbox Code Playgroud)

查看型号:

new Vue({
  el: "#app",
  data: {
    selected: 'bar'
  }
});
Run Code Online (Sandbox Code Playgroud)

这是JSFiddle:https://jsfiddle.net/Lxfxyqmf/

  • 如果您只想选择第一个索引,您将如何实现这一点。IE。您不知道返回的结果,因此只需自动选择第一个结果。 (5认同)
  • @ Chris22应该只是`data:function(){return {selected:'bar'}}` (2认同)

Ily*_*kov 11

html:

<div id="myComponent">
    <select v-model="selectedValue">
        <option v-for="listValue in valuesList" :value="listValue">
            {{listValue}}
        </option>
    </select>
    <span>Chosen item: {{ selectedValue }}</span>
</div>
Run Code Online (Sandbox Code Playgroud)

js:

var app = new Vue({
    el: '#myComponent',
    data: {
        selectedValue: 'Two',
        valuesList: ['One', 'Two', 'Three']
    },
Run Code Online (Sandbox Code Playgroud)

  • 当您只想默认选择一个值并且不想使用“v-model”时,可以认为这个答案是正确的。 (2认同)