diff --git a/packages/taro-mini-runner/src/__tests__/__snapshots__/vue3.spec.ts.snap b/packages/taro-mini-runner/src/__tests__/__snapshots__/vue3.spec.ts.snap index e634e87bbd85..a15d9ccfc612 100644 --- a/packages/taro-mini-runner/src/__tests__/__snapshots__/vue3.spec.ts.snap +++ b/packages/taro-mini-runner/src/__tests__/__snapshots__/vue3.spec.ts.snap @@ -549,8 +549,8 @@ require(\\"./taro\\"); component.mixins = [ inject ]; } var ProviderComponent = { - provide: { - id: id + setup: function setup() { + Object(vue[\\"provide\\"])(\\"id\\", id); }, render: function render() { return this.$slots.default(); diff --git a/packages/taro-plugin-vue3/src/runtime/connect.ts b/packages/taro-plugin-vue3/src/runtime/connect.ts index e659e05d98a8..b7d45a8e865d 100644 --- a/packages/taro-plugin-vue3/src/runtime/connect.ts +++ b/packages/taro-plugin-vue3/src/runtime/connect.ts @@ -5,6 +5,7 @@ import { Current, injectPageInstance } from '@tarojs/runtime' +import { provide } from 'vue' import { setDefaultDescriptor, setRouterParams } from './utils' import type { @@ -91,7 +92,9 @@ function createVue3Page (h: typeof createElement, id: string) { } const ProviderComponent = { - provide: { id }, + setup () { + provide('id', id) + }, render () { return this.$slots.default() }