我使用的是vuetify的v-autocomplete组件,我想在其下拉列表中添加自定义部分(在这个屏幕截图上用红色箭头标记:https://prnt.sc/lm3vjc)

这是我的组件的外观,所以我想在项目顶部添加该部分:

<v-autocomplete @change='selectedSearchedCandidate' append-icon="search" :loading="loading" :filter="v => v" :items="items" :search-input.sync="search" v-model="select" flat hide-no-data hide-details return-object placeholder="Search candidates">
    <template slot="selection" slot-scope="{ item, selected }">
        {{item.firstName}} {{item.lastName}}
    </template>
    <template slot="item" slot-scope="{ item, tile }">
        <v-list-tile-content>
            <p class='fullName'>{{item.firstName}} {{item.lastName}}</p>
            <p class='employer'>{{item.employer}}</p>
            <p class='phoneNumber grey--text'>{{formattedPhoneNumber(item.phoneNumber)}}</p>
        </v-list-tile-content>
    </template>
</v-autocomplete>

推荐答案

你可以使用prepend-item个插槽.它会在第一项之前添加你想要的任何内容.

举个例子,它应该是这样的:

<v-autocomplete @change='selectedSearchedCandidate' append-icon="search" :loading="loading" :filter="v => v" :items="items" :search-input.sync="search" v-model="select" flat hide-no-data hide-details return-object placeholder="Search candidates">
    <v-list-tile
        slot="prepend-item"
        class="grey--text">
      {{ items.length }} candidates found
    </v-list-tile>
    <template slot="selection" slot-scope="{ item, selected }">
        {{item.firstName}} {{item.lastName}}
    </template>
    <template slot="item" slot-scope="{ item, tile }">
        <v-list-tile-content>
            <p class='fullName'>{{item.firstName}} {{item.lastName}}</p>
            <p class='employer'>{{item.employer}}</p>
            <p class='phoneNumber grey--text'>{{formattedPhoneNumber(item.phoneNumber)}}</p>
        </v-list-tile-content>
    </template>
</v-autocomplete>

Prepend and Append slot in Vuetify Documentation


Edit for V1.1.0+:这些插槽在v-autocompletev-combobox中可用,因为它们继承自v-select.

Vue.js相关问答推荐

无法解析组件:google—pay—button

如何在 Vuetify 2 中的轮播项目上放置 href 属性?

VueJS 中的 VisJS 时间轴:带有图像的项目放错了位置

Vue Datepicker 不会在渲染时显示默认日期

vue js导航到带有问号的url

使用 Vue Js 运行 Jest 测试时出现语法错误:无法在模块外使用 import 语句

Vuetify v-data-table ,如何在 HTML 中呈现标题文本?

Vue:如何将 store 与组件一起使用?

将 props 传递给 Vue 组件中的元素属性

Modal 内部的 Vue.js AJAX 调用

为 Vue 组件动态添加属性

如何从 vue-apollo 中访问 this.$route?

了解 Nuxt.js 中的State状态和Getters:Getters不起作用

异步api调用后如何使用vuex getter

找不到模块 'babel-core' 但已安装 @babel/core

使用 Vue 在单个文件组件中调用渲染方法

在 Vue JS 组件中使用 Laravel 路由的最佳方法是什么

如何在 vue.js 2 上循环对象观察者?

使用 vuejs 设置响应式屏幕宽度

如何在 vue.js 中通过单击事件发出值