分配

时间:2018-06-13 23:37:08

标签: javascript vue.js vue-router vuex

我处于一个令人困惑的情况,我正在从route param

为input元素赋值
<input type="search" class="form-control search-control" :value="search">

搜索计算函数

computed: {
  search() {
    if(this.serviceBenefitRoute) {
      return this.serviceBenefitRoute;
    }
    return this.$store.state.search;
  }
}

我面临的问题是,当this.serviceBenefitRoute有一个值时,它会显示在输入框中,但它无法删除,它会一直保持,我会尝试删除,但它会再次出现。我坚持这个问题已经很久没有想法了。

1 个答案:

答案 0 :(得分:2)

您希望首先从路线设置search初始值,然后再回到商店。

你应该可以使用这个

data () {
  return {
    search: this.$route.params.service || this.$store.state.search
  }
}

然后使用v-model

<input type="search"
       class="form-control search-control" 
       v-model="search">

您不需要search的计算值。