1

我正在尝试从我的 v-select 中对这些数据的键进行 v-model :

{
data: {
IT: "Italy",
PL: "Poland",
AF: "Afghanistan",
AX: "Aland Islands",
AL: "Albania"
     }
}

我的 v-select 和输出看起来像这样(这是我能得到的最接近的:

        {{ this.model[0] }}

        <v-select
        :items="Object.entries(this.items)"
        v-model="model"
        >
      </v-select>

问题在于,当我只想要意大利时,v-select 的值将是“IT,意大利”

我一直在尝试找出方法,例如使用辅助函数来搜索值并返回一个键,但我一直不确定,想知道是否有更简单的方法可以做到这一点。或者可能将数据转换为新对象。

如果有人有任何想法,我将不胜感激!

4

2 回答 2

2

最好从 data() 返回国家属性(使其成为函数!)而不是遍历 Object.entries

data() {
    return {
      countries: [
        {key: 'IT', name: 'Italy'},
        {key: 'PL', name: 'Poland'} // ...

      ],
      country: null
    }
  }

然后在您的模板中,您可以像这样使用它:

<v-select :items="countries" v-model="country" item-value="key" item-text="name"></v-select>

使用 item-value 和 item-text 道具,您可以确定显示的文本和当前值是什么

于 2019-02-10T13:21:15.890 回答
2

感谢您的回答。我设法让它在没有任何辅助功能的情况下工作:

  :items="items"
  item-value="[0]" 
  item-text="[1]"
于 2019-02-10T14:34:16.637 回答