Vue表带从select中获取价值

时间:2018-04-11 09:35:45

标签: vue.js vuejs2 vue-strap vue-select

我有问题。使用vue strap select无法从select中获取价值。

我的HTML代码:

<bs-select 
  v-model="select.value" 
  :options="select.options" 
  options-value="val" 
  justified 
  close-on-select 
  placeholder="Chose action" 
  @change="contract_corresponds_activity"
></bs-select>

我尝试过:除了v-model之外的value.sync。

我的js代码:

import {input, checkbox, select, option} from 'vue-strap'
export default {
components: {
  'bs-select': select,
},
data () {
  return {
select: {
      options: [
        {val: 0, label: 'unknown'},
        {val: 1, label: 'plus 1'},
        {val: 2, label: 'plus 2'},
        {val: 4, label: 'plus 4'},
        {val: 6, label: 'plus 6'}
      ],
      value: ''
    }
},
methods: {
some_function () {
    alert(this.select.value)
    axios.post(this.api_url + this.$route.params.id + '/domgmt', { value: this.select.value
    }).then(response => {
      this.update_form_data(response.data)
    }).catch(error => {
      this.errors = error.response.data.errors
    })
  }
}

这段代码给了我选择选项,但我不能将它保存到变量值。我的帖子请求是空字符串,与我的警报一样,没有给我什么。我的目标是发送值:1,2,4,6或0.

1 个答案:

答案 0 :(得分:0)

问题是我应该在更改事件上添加参数,因此代码将如下所示:

 some_function (value) {
    alert(value)
    axios.post(this.api_url + this.$route.params.id + '/domgmt', { value: value
    }).then(response => {
      this.update_form_data(response.data)
    }).catch(error => {
      this.errors = error.response.data.errors
    })
  }

在这种情况下,它会显示我刚刚点击的内容