Vuetify - 如何轻松访问 v-select 项目文本值?

Posted

技术标签:

【中文标题】Vuetify - 如何轻松访问 v-select 项目文本值?【英文标题】:Vuetify - how to easily access v-select item-text value? 【发布时间】:2019-02-24 20:08:40 【问题描述】:

我想知道当项目已绑定到 v-select 并且它与项目值值分开时,如何轻松访问 v-select 的项目文本值?我希望将 item-value 值保存到我的 v-model 中,然后通过 on change 事件传递 item-text 值,如下所示:

<v-select v-model="id" :items="items" item-value="id" item-text="name" v-on:change="getItemText(name)" />

如果我给 v-select 加上一个 ref 然后通过以下方式访问它,我可以获得该值:

this.$refs.vselect.selectedItems[0].name;

但是当数据在 v-select 本身中时,这似乎有点啰嗦。如果有人知道更简单的方法,我很想听听!

谢谢!

【问题讨论】:

我的 v-select 项目由对象数组组成,因此我的项目值显示 id 属性,项目文本显示对象的名称属性。在 item-text 上使用 v-bind 会混淆显示对象的名称,而只是显示 [object Object] :( 使用scoped slots:***.com/questions/50531864/… 好的,成功了,谢谢!我会用我的做法更新我的帖子。 Customizing item-text in v-select的可能重复 请不要将答案作为问题的一部分发布。将其发布为答案。 【参考方案1】:

感谢@Bennett Dams,让它使用插槽工作。

<v-select v-model="id" :items="items" item-value="id" item-text="name">
<template slot="item" slot-scope="data" >
  <v-list-tile-content>
    <v-list-tile-title @click="getItemText(data.item.name)" v-html="data.item.name"></v-list-tile-title>
  </v-list-tile-content>
</template>

【讨论】:

以上是关于Vuetify - 如何轻松访问 v-select 项目文本值?的主要内容,如果未能解决你的问题,请参考以下文章

如何减小 vuetify 输入的大小(v-select/v-input)

Vuetify - 如何在自定义文本时包含复选框以进行 v-select

如何在 vuetify 弹出模式上放置要使用输入元素(v-select)固定的下拉项?

Vuetify v-select 组件宽度变化

如何使附加项在 v-select vuetify 中始终可见

看不到 vuetify 'v-select' 组件