【问题标题】:Retrieve selected text from select从选择中检索选定的文本
【发布时间】:2017-04-19 22:36:31
【问题描述】:

我正在使用 VueJS 2(带有this 模板),以下是我到目前为止所做的:

<template>
     <select id="dropDown" v-model="mytrack">
           <option value="">Select track</option>
           <option v-for="track in tracksList" :value="track.circuitId">{{ track.name }}</option>
     </select>
     <button type="submit" @click="retrieveByTrack(track.circuitId)">
                                Search
     </button>
</template>

<script>  
    export default {
                data() {

                    return {
                        tracksList: []
                    };
                },
                created: {
                     // here I fill tracksList[] with a list of tracks
                },
                methods: {
                  retrieveByTrack(trackId){
                   }
                }
        }
</script>

我希望能够从 select 元素中选择一个选项,当我单击提交按钮时,我应该调用 retrieveByTrack(track.circuitId) 方法传递在 select 元素中选择的选项值。

【问题讨论】:

  • 为什么不在被调用函数中检索选定的值。

标签: javascript vue.js


【解决方案1】:

就这么简单。 我为你创造了小提琴:

https://jsfiddle.net/npw7fgta/

<div class='col-xs-12'>
<hr/>
<div id="app">
  <pre>{{ $data |json }}</pre>
  <select v-model='result'> <option v-for="task in tasks" :value="task.id">{{ task.name }} </option> </select>
</div>
</div>

还有 JS:

var vm = new Vue({
  el: "#app",
  data: {

    tasks: [
    { id: 0 , name: 'First task'},
    { id: 5, name: 'fifth task'}
    ]

  }
});

然后,result 中就有 task/track.id 可用,所以你可以做任何你想做的事情。

【讨论】:

  • @M U 如果 html 内容包含在
  • 你在使用单文件组件和 webpack 吗?
  • 因此您必须将return { } 放入数据中,而不仅仅是对象类型
  • 是的,一旦我的组件被加载,我就会在创建的钩子中填充tracksList[],然后返回它
  • 它必须工作。你能用你的代码创建快速的 Webpack bin 吗?我会帮你的
猜你喜欢
  • 1970-01-01
  • 2015-08-05
  • 2018-08-03
  • 1970-01-01
  • 2016-02-23
  • 1970-01-01
  • 2019-07-01
  • 2017-01-30
  • 1970-01-01
相关资源
最近更新 更多