【问题标题】:Making a vuetify autocomplete with composition api and remote api?使用组合 api 和远程 api 进行 vuetify 自动完成?
【发布时间】:2025-12-04 18:00:01
【问题描述】:

问题如下:

您如何使用 Vuetify 自动完成和全新的组合 API 进行 API 调用?

【问题讨论】:

  • 你能提供更多细节吗?使用 Vuetify 自动完成组件可以实现多种实现。例如,您是否要进行 API 调用并使用返回的数据来填充自动完成下拉菜单?
  • 正是如此,API 调用并填充自动完成下拉菜单。

标签: vuetify.js vue-composition-api


【解决方案1】:

它似乎与 Vue 2 没有什么不同。

在 main.js 中

import Vue from 'vue'
import VueCompositionApi from '@vue/composition-api'
import Vuetify from 'vuetify'

import App from './App.vue'

Vue.use(Vuetify)
Vue.use(VueCompositionApi)

Vue.config.productionTip = false

new Vue({
  vuetify: new Vuetify({}),
  render: h => h(App)
}).$mount('#app')

App.vue

<template>
  <div id="app" data-app>
    <v-autocomplete
      v-model="model"
      :items="items"
      item-text="first_name"
      item-value="id"
      label="Select a user..."
    />
  </div>
</template>

<script>
import { ref, onMounted }  from '@vue/composition-api'

export default {
  setup() {
    const model = ref(null)
    const items = ref()

    const getUsers = async () => {
      const { data } = await (
        await  fetch('https://reqres.in/api/users')
      ).json()

      items.value = data
    }

    onMounted(getUsers)

    return {
      model,
      items,
    }
  }
}
</script>

我是在密码箱中完成的 https://codesandbox.io/s/vuetify-autocomplete-basic-p6q9m?file=/src/components/HelloWorld.vue

【讨论】:

  • 嗨,Casey 感谢您发布该答案。您知道如何在组合 API 中使用上下文访问此代码吗? this.$vuetify.goTo(9999, { duration: 600, offset: 0, easing: "easeInOutQuint" });
  • 嗨@TravisKlein,是的,如果您想在模板中运行该方法,只需将其删除。如果您尝试在设置函数中访问 $vuetify。您可以通过上下文对象访问它,如下所示: const myComponent = { setup(_, context) { context.root.$vuetify } }
  • Aww 是的,context.root.$vuetify.goTo() 就是答案。我在发布一小时后发现了这一点,但我找不到如何在堆栈上找到我的评论帖子以重新编辑我的评论。无论如何感谢您的回复!