2

我在我的项目中是 vue(2.5 版)的新手我已经安装了 v-select 我浏览了文档并且对这里的一些事情感到困惑是我的代码

  <template>
   <div class="wrapper">


             <div class="row">
               <div class="col-sm-6">
                 <div class="form-group">
                   <label for="name">Category</label>
                   <v-select  label="category_desc" options="category"></v-select>
                 </div>
               </div>
          </div>
  <button type="button" variant="primary" class="px-4" @click.prevent="next()">next</button>
       </div>
 </template>     

 <script>
   export default {
     name: 'Addproduct',
    data () {
             return {

                 category:[]


             }
           },
     mounted() {
             this.$http.get('http://localhost:3000/api/categories') .then(function (response) {
                 console.log(response.data);
                this.category=response.data

                 })
                 .catch(function (error) {
                   console.log("error.response");
                 });
         },

方法:{ next(){ // console.log('value of v-selection not option') 例如 id 1 有 'country' 所以我希望方法 next() 中的 id 1 即在 console.log 中 } } 现在我的问题是我如何将这个 axios 响应的成功值传递给 v-select 选项,其次是我如何获得 v-select 的选定值,例如;- 当用户单击下一步按钮时,我如何获取在 v- 中选择的值选择

4

2 回答 2

3

您需要将选项绑定到类别。即v-bind:options或简写:options我还建议您使用一种方法来进行ajax调用,然后mounted()改为调用该方法。另外,您可能想要v-model在该选择上进行选择,因此我在示例中添加了该选项。

首先在您的模板中...

 <v-select  v-model="selectedCategory" label="category_desc" :options="category"></v-select>

然后在你的脚本定义中......

data(){
   return{
     category:[],
     selectedCategory: null,
   }
},
methods:{
    getCategories(){
      this.$http.get('http://localhost:3000/api/categories')
           .then(function (response) {
               this.category=response.data
             }.bind(this))
           .catch(function (error) {
               console.log("error.response");
            });
  }
},
 mounted(){
   this.getCategories(); 
 }

这是一个有效的 jfiddle https://jsfiddle.net/skribe/mghbLyva/3/

于 2018-03-14T08:35:01.390 回答
0

我们在谈论这个选择组件吗?最简单的用法是在您的 v-select 上放置一个 v-model 属性。然后这个变量会自动反映用户选择的值。

如果您需要指定选项,您可能会这样做,那么您还需要提供一个 value 属性并监听 @change。

于 2018-03-14T08:22:04.287 回答