You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js中如何简便显示下拉选中项的值(已用v-model)

Vue下拉选择框显示选中项value值的解决方案

你完全没必要给每个选项单独绑定v-model,把v-model绑定在<select>标签上就足够了——Vue会自动把选中项的value值同步到你绑定的selected变量里。

你当前代码里的问题是页面上写的{{value}}是无效的,应该改成{{selected}},因为你在data里定义的绑定变量是selected。

修正后的完整代码如下:

JavaScript 代码

new Vue({
  el: "#app",
  data: {
    selected: '',
  },
  // 如果toggle方法没用到可以直接删掉
  methods: {
    toggle: function(todo){
        todo.done = !todo.done
    }
  }
})

HTML 代码

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
  <!-- 这里把{{value}}改成{{selected}} -->
  {{selected}}
  <select v-model="selected" class="hide">
    <option value=''></option>
    <option value='Act'>test1</option>
    <option value='Advertising'>My AD</option>
  </select>
</div>

如果你的下拉选项很多或者需要动态生成,推荐用数组配合v-for渲染选项,这样不用手动写每个<option>,维护起来更方便:

优化后的动态选项写法

JavaScript 代码

new Vue({
  el: "#app",
  data: {
    selected: '',
    // 把选项定义成数组
    options: [
      { text: '', value: '' },
      { text: 'test1', value: 'Act' },
      { text: 'My AD', value: 'Advertising' }
    ]
  }
})

HTML 代码

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
  {{selected}}
  <select v-model="selected" class="hide">
    <!-- 用v-for循环渲染所有选项 -->
    <option v-for="option in options" :value="option.value">{{ option.text }}</option>
  </select>
</div>

内容的提问来源于stack exchange,提问作者Vzupo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 05:01:01