Vue.js Vuetify选择组件初始值问题

Vue.js Vuetify选择组件初始值问题,vue.js,vuetify.js,v-select,Vue.js,Vuetify.js,V Select,我有vuetify网页包项目 在我的一个vue组件中,我使用v-select with:items设置为名为“levels”的数字的公共数组,v-model设置为保存公共数字的数据属性“level” 因此问题在于,如果“级别”用prop初始化,则v-select在启动时不显示初始值,如果“级别”用常量初始化,则显示ok。Smth是这样的: props: ['initLevel'], data () { return { levels, level: thi

我有vuetify网页包项目

在我的一个vue组件中,我使用v-select with:items设置为名为“levels”的数字的公共数组,v-model设置为保存公共数字的数据属性“level”

因此问题在于,如果“级别”用prop初始化,则v-select在启动时不显示初始值,如果“级别”用常量初始化,则显示ok。Smth是这样的:

  props: ['initLevel'],
  data () {
    return {
      levels,
      level: this.initLevel
    }
  }
props: ['initLevel'],

data() {
    return {
        levels: ...,
        level: 0
    }
},

beforeMount() {
     this.level = this.initLevel
}
这不正确,但这:

...
level: 25
...
很好

v-select的用法是:

         <v-select
            label="Select Level"
            :items="levels"
            v-model="level"
            max-height="200"
            dense
            autocomplete
          >
        </v-select>

除了在启动问题时显示初始值外,v-select工作正常

那么如何解决这个问题,原因是什么呢?

我认为在任何属性值可用之前都会调用
data()

您可以尝试将初始化从
data()
移动到
beforeMount()
,如下所示:

  props: ['initLevel'],
  data () {
    return {
      levels,
      level: this.initLevel
    }
  }
props: ['initLevel'],

data() {
    return {
        levels: ...,
        level: 0
    }
},

beforeMount() {
     this.level = this.initLevel
}
好的,我发现了问题 它是以类型表示的:levels是一个整数数组,prop作为字符串
标准HTMLselect没有问题,但v-select有问题

您使用的是Vue 2.0还是Vue 1.0?@d3L 2.0因为Vue 1.0不适用于Vue 1.0 afaikno,我使用的是现代Vue&vuetify,但您得到的是错误w.r.t。您不明白您的意思吗。当v-select尝试初始化它自己时,看起来数据对象还没有准备好。我尝试了它,这很奇怪,但仍然是一样的:如果在beforeMount()this.level=20,那么是ok,如果this.level=this.initLevel,那么v-select没有初始值,而普通的html select初始化fine我也有同样的问题。结果证明,我的API的结果是一个字符串,我的items数组的值是int…Lifesaver thanx!这件事让我难堪了一段时间。我以为我疯了!