使用taro-ui-vue3在钉钉小程序报错
yyq914828jzg opened this issue · 3 comments
yyq914828jzg commented
app.js中引入 import { createUI } from 'taro-ui-vue3'
npm run dev:dd 的时候报错
" '@tarojs/components' does not contain an export named 'OpenData'.
b2nil commented
OpenData 只有 AtAvatar 用到。这个报错影响程序正常运行么?
zjy2931 commented
不影响运行也不应当这样报错 吧
b2nil commented
其他没有 OpenData
组件的小程序平台使用时会报错,是因为 AtAvatar
从 @tarojs/components
中明确引用了 OpenData
组件:
import { Image, OpenData, Text, View } from '@tarojs/components'
两个办法:
- 如果不使用
AtAvatar
组件,不要引用就行了。请按需引用其他组件。
// 这样会引用全部组件,包括 AtAvatar。
import { createUI } from 'taro-ui-vue3'
const tuv3 = createUI()
...
App.use(tuv3)
- 如果要使用
AtAvatar
组件,请自行修改。- 不要从
@tarojs/components
引用OpenData
- 使用
vue
的resolveComponent
函数来解析OpenData
组件
- 不要从
const children = isWEAPP && props.openData && props.openData.type === 'userAvatarUrl'
? h(resolveComponent('open-data'), { type: props.openData.type })
: props.image
? h(Image, { class: 'at-avatar__img', src: props.image })
: h(Text, { class: 'at-avatar__text' }, { default: () => letter.value })