网站搜索

javascript - 我可以使用 vue.js 在 select 选项中设置动态提示吗?


我在 Vue 中声明了一个数组。

sourceSelect: [
    { text: "Option 1", value: "1", title: "First tooltip" },
    { text: "Option 2", value: "2", title: "Second tooltip" },
    { text: "Option 3", value: "3", title: "Third tooltip" }
],

我的标记中有一个选择元素:

<select class="form-group col-sm-8" v-on:change="showOptions" v-model="sourceSelected" data-toggle="tooltip" data-placement="top" data-html="true">
    <option v-for="source in sourceSelect" v-bind:value="source.value" title={{source.title}} >{{source.text}}</option>
</select>

下拉菜单显示选项,并显示一个tooltip,但不幸的是,它没有显示数组中设置的title值——而是显示{{source.title}}。有没有办法以这种方式动态设置title属性的值?我使用的是vue.2.6.10

答案#1

你应该像绑定 value 属性那样进行绑定:

 <option v-for="source in sourceSelect" v-bind:value="source.value"  v-bind:title="source.title" >{{source.text}}</option>

Vue.config.devtools = false;
Vue.config.productionTip = false;

new Vue({
  el: '#app',
  data() {
    return {
      sourceSelect: [{
          text: "Option 1",
          value: "1",
          title: "First tooltip"
        },
        {
          text: "Option 2",
          value: "2",
          title: "Second tooltip"
        },
        {
          text: "Option 3",
          value: "3",
          title: "Third tooltip"
        }
      ]
    }
  }
})
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap/dist/css/bootstrap.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>


<div id="app" class="container">
  <select class="form-group col-sm-8" data-toggle="tooltip" data-placement="top" data-html="true">
    <option v-for="source in sourceSelect" v-bind:value="source.value" :title="source.title">{{source.text}}</option>
  </select>

</div>