vue.option ---select获取数据

vue获取下拉框的值,用vue-modle,只有点击下拉框的值才会赋值到下拉框中,初始时下拉框没有数据,而改用$event就不会出现这样的问题,下面看代码以及图解:

v-model解决方式:

<!-- 下拉框 -->

<div v-show="moreStore" class="select">

  <select class="choice" v-on:change="indexSelect" v-model="indexId">

    <option v-for="item in index" v-bind:value="item.indexId">{{item.name}}</option>

  </select>

</div>

下拉框的值:

index: [{

  "indexId":1,

  "name": "点菜用户数"

  }, {

  "indexId":2,

  "name": "点菜新用户数"

  }, {

  "indexId":3,

  "name": "首次留联系方式人数"

  }, {

  "indexId":4,

  "name": "已有联系方式人数"

}]

在这里,indexId要在data里面声明一下

事件:

// 获取id值

indexSelect(){

  console.log(this.indexId);//在这里可以正确输出每个下拉框对应的下标值,当然输出值都是可以的

}

技术分享

改用$event的解决方式

<!-- 下拉框 -->

<div v-show="moreStore" class="select">

  <select class="choice" v-on:change="indexSelect($event)">

    <option v-for="item in index" v-bind:value="item.indexId">{{item.name}}</option>

  </select>

</div>

事件:

// 获取value值

indexSelect(event){

  console.log(event.target.value);

},

图示:

技术分享

当然,可以根据自己的项目需要来选择哪种方法。在这里,v-on:change也可以写成v-on:click

猜你喜欢

转载自blog.csdn.net/weixin_41722928/article/details/81096679