Skip to content

wevu / index / DefineComponentOptions

接口: DefineComponentOptions<P, D, C, M>

定义于: packages/wevu/src/runtime/types.ts:470

继承

类型参数

P

P extends ComponentPropsOptions = ComponentPropsOptions

D

D extends object = Record<string, any>

C

C extends ComputedDefinitions = ComputedDefinitions

M

M extends MethodDefinitions = MethodDefinitions

可索引

[key: string]: any

透传/扩展字段:允许携带其他小程序原生 Component 选项或自定义字段。 说明:为保持兼容性保留 index signature,但仍会对已知字段提供智能提示。

属性

attached()?

optional attached: () => void

定义于: packages/wevu/src/runtime/types.ts:233

返回

void

已被弃用

旧式的定义方式,基础库 2.2.3 起请在 lifetimes 中定义

在组件实例进入页面节点树时执行

最低基础库版本:1.6.3

继承自

MiniProgramComponentOptions.attached


behaviors?

optional behaviors: MiniProgramBehaviorIdentifier[]

定义于: packages/wevu/src/runtime/types.ts:170

类似于 mixins/traits 的组件间代码复用机制(behaviors)。

继承自

MiniProgramComponentOptions.behaviors


computed?

optional computed: C

定义于: packages/wevu/src/runtime/types.ts:503

组件 computed(会参与快照 diff)。


created()?

optional created: () => void

定义于: packages/wevu/src/runtime/types.ts:232

旧式生命周期(基础库 2.2.3 起推荐使用 lifetimes 字段)。 保留以增强类型提示与兼容性。

返回

void

已被弃用

旧式的定义方式,基础库 2.2.3 起请在 lifetimes 中定义

在组件实例刚刚被创建时执行

最低基础库版本:1.6.3

继承自

MiniProgramComponentOptions.created


data()?

optional data: () => D

定义于: packages/wevu/src/runtime/types.ts:498

组件 data(建议使用函数返回初始值)。

返回

D


definitionFilter?

optional definitionFilter: DefinitionFilter

定义于: packages/wevu/src/runtime/types.ts:209

定义段过滤器,用于自定义组件扩展。

继承自

MiniProgramComponentOptions.definitionFilter


detached()?

optional detached: () => void

定义于: packages/wevu/src/runtime/types.ts:236

返回

void

已被弃用

旧式的定义方式,基础库 2.2.3 起请在 lifetimes 中定义

在组件实例被从页面节点树移除时执行

最低基础库版本:1.6.3

继承自

MiniProgramComponentOptions.detached


error()?

optional error: (err) => void

定义于: packages/wevu/src/runtime/types.ts:237

参数

err

Error

返回

void

已被弃用

旧式的定义方式,基础库 2.2.3 起请在 lifetimes 中定义

每当组件方法抛出错误时执行

最低基础库版本:2.4.1

继承自

MiniProgramComponentOptions.error


export()?

optional export: () => IAnyObject

定义于: packages/wevu/src/runtime/types.ts:218

组件自定义导出:当使用 behavior: wx://component-export 时, 可用于指定组件被 selectComponent 调用时的返回值。

wevu 默认会将 setup() 中通过 expose() 写入的内容作为 export() 返回值, 因此大多数情况下无需手动编写 export();若同时提供 export(),则会与 expose() 结果浅合并。

返回

IAnyObject

继承自

MiniProgramComponentOptions.export


externalClasses?

optional externalClasses: string[]

定义于: packages/wevu/src/runtime/types.ts:175

组件接受的外部样式类。

继承自

MiniProgramComponentOptions.externalClasses


features?

optional features: PageFeatures

定义于: packages/wevu/src/runtime/types.ts:486

页面特性开关(用于按需注入 Page 事件处理函数)。

说明:小程序的部分页面事件/菜单项具有“按需派发/按需展示”特性, 只有定义了对应的 onXXX 方法才会触发/展示(如 onPageScrollonShareTimeline)。 因此 wevu 需要在注册阶段(Component())就决定是否注入这些 onXXX。

  • 若你在 options 中显式定义了原生 onXXX,wevu 会自动桥接对应 hook(无需 features)。
  • 若你只想在 setup() 里使用 wevu hook(不额外写原生 onXXX),则通过 features 显式开启注入。

lifetimes?

optional lifetimes: Partial<{ attached: void; created: void; detached: void; error: void; moved: void; ready: void; }>

定义于: packages/wevu/src/runtime/types.ts:194

组件生命周期声明对象: created/attached/ready/moved/detached/error

注意:wevu 会在 attached/ready/detached/moved/error 阶段做桥接与包装, 但 created 发生在 setup() 之前。

继承自

MiniProgramComponentOptions.lifetimes


methods?

optional methods: M

定义于: packages/wevu/src/runtime/types.ts:513

组件 methods(会绑定到 public instance 上)。


moved()?

optional moved: () => void

定义于: packages/wevu/src/runtime/types.ts:235

返回

void

已被弃用

旧式的定义方式,基础库 2.2.3 起请在 lifetimes 中定义

在组件实例被移动到节点树另一个位置时执行

最低基础库版本:1.6.3

继承自

MiniProgramComponentOptions.moved


observers?

optional observers: Record<string, (...args) => any>

定义于: packages/wevu/src/runtime/types.ts:185

组件数据字段监听器,用于监听 properties 和 data 的变化。

继承自

MiniProgramComponentOptions.observers


onAddToFavorites()?

optional onAddToFavorites: (options) => IAddToFavoritesContent

定义于: node_modules/.pnpm/[email protected]/node_modules/miniprogram-api-typings/types/wx/lib.wx.page.d.ts:150

监听用户点击右上角菜单“收藏”按钮的行为,并自定义收藏内容。 基础库 2.10.3,安卓 7.0.15 版本起支持,iOS 暂不支持

参数

options

IAddToFavoritesOption

返回

IAddToFavoritesContent

继承自

MiniProgramPageLifetimes.onAddToFavorites


onHide()?

optional onHide: () => void | Promise<void>

定义于: node_modules/.pnpm/[email protected]/node_modules/miniprogram-api-typings/types/wx/lib.wx.page.d.ts:73

生命周期回调—监听页面隐藏

页面隐藏/切入后台时触发。 如 navigateTo 或底部 tab 切换到其他页面,小程序切入后台等。

返回

void | Promise<void>

继承自

MiniProgramPageLifetimes.onHide


onLoad()?

optional onLoad: (query) => void | Promise<void>

定义于: node_modules/.pnpm/[email protected]/node_modules/miniprogram-api-typings/types/wx/lib.wx.page.d.ts:52

生命周期回调—监听页面加载

页面加载时触发。一个页面只会调用一次,可以在 onLoad 的参数中获取打开当前页面路径中的参数。

参数

query

Record<string, string | undefined>

打开当前页面路径中的参数

返回

void | Promise<void>

继承自

MiniProgramPageLifetimes.onLoad


onPageScroll()?

optional onPageScroll: (options) => void | Promise<void>

定义于: node_modules/.pnpm/[email protected]/node_modules/miniprogram-api-typings/types/wx/lib.wx.page.d.ts:129

页面滚动触发事件的处理函数

监听用户滑动页面事件。

参数

options

IPageScrollOption

页面滚动参数

返回

void | Promise<void>

继承自

MiniProgramPageLifetimes.onPageScroll


onPullDownRefresh()?

optional onPullDownRefresh: () => void | Promise<void>

定义于: node_modules/.pnpm/[email protected]/node_modules/miniprogram-api-typings/types/wx/lib.wx.page.d.ts:91

监听用户下拉动作

监听用户下拉刷新事件。

  • 需要在app.jsonwindow选项中或页面配置中开启enablePullDownRefresh
  • 可以通过wx.startPullDownRefresh触发下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。
  • 当处理完数据刷新后,wx.stopPullDownRefresh可以停止当前页面的下拉刷新。

返回

void | Promise<void>

继承自

MiniProgramPageLifetimes.onPullDownRefresh


onReachBottom()?

optional onReachBottom: () => void | Promise<void>

定义于: node_modules/.pnpm/[email protected]/node_modules/miniprogram-api-typings/types/wx/lib.wx.page.d.ts:98

页面上拉触底事件的处理函数

监听用户上拉触底事件。

  • 可以在app.jsonwindow选项中或页面配置中设置触发距离onReachBottomDistance
  • 在触发距离内滑动期间,本事件只会被触发一次。

返回

void | Promise<void>

继承自

MiniProgramPageLifetimes.onReachBottom


onReady()?

optional onReady: () => void | Promise<void>

定义于: node_modules/.pnpm/[email protected]/node_modules/miniprogram-api-typings/types/wx/lib.wx.page.d.ts:68

生命周期回调—监听页面初次渲染完成

页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。

注意:对界面内容进行设置的 API 如wx.setNavigationBarTitle,请在onReady之后进行。

返回

void | Promise<void>

继承自

MiniProgramPageLifetimes.onReady


onResize()?

optional onResize: (options) => void | Promise<void>

定义于: node_modules/.pnpm/[email protected]/node_modules/miniprogram-api-typings/types/wx/lib.wx.page.d.ts:141

窗口尺寸改变时触发,最低基础库:2.4.0

参数

options

IResizeOption

窗口尺寸参数

返回

void | Promise<void>

继承自

MiniProgramPageLifetimes.onResize


onRouteDone()?

optional onRouteDone: () => void | Promise<void>

定义于: node_modules/.pnpm/[email protected]/node_modules/miniprogram-api-typings/types/wx/lib.wx.page.d.ts:83

生命周期回调—监听路由动画完成

路由动画完成时触发。如 wx.navigateTo 页面完全推入后 或 wx.navigateBack 页面完全恢复时。

返回

void | Promise<void>

继承自

MiniProgramPageLifetimes.onRouteDone


onSaveExitState()?

optional onSaveExitState: () => ISaveExitState

定义于: node_modules/.pnpm/[email protected]/node_modules/miniprogram-api-typings/types/wx/lib.wx.page.d.ts:153

每当小程序可能被销毁之前会被调用,可以进行退出状态的保存。最低基础库: 2.7.4

返回

ISaveExitState

继承自

MiniProgramPageLifetimes.onSaveExitState


onShareAppMessage()?

optional onShareAppMessage: (options) => void | Promise<void> | ICustomShareContent | IAsyncCustomShareContent | Promise<ICustomShareContent>

定义于: node_modules/.pnpm/[email protected]/node_modules/miniprogram-api-typings/types/wx/lib.wx.page.d.ts:107

用户点击右上角转发

监听用户点击页面内转发按钮(<button> 组件 open-type="share")或右上角菜单“转发”按钮的行为,并自定义转发内容。

注意:只有定义了此事件处理函数,右上角菜单才会显示“转发”按钮

此事件需要 return 一个 Object,用于自定义转发内容

参数

options

IShareAppMessageOption

分享发起来源参数

返回

void | Promise<void> | ICustomShareContent | IAsyncCustomShareContent | Promise<ICustomShareContent>

继承自

MiniProgramPageLifetimes.onShareAppMessage


onShareTimeline()?

optional onShareTimeline: () => void | ICustomTimelineContent

定义于: node_modules/.pnpm/[email protected]/node_modules/miniprogram-api-typings/types/wx/lib.wx.page.d.ts:123

监听右上角菜单“分享到朋友圈”按钮的行为,并自定义分享内容

本接口为 Beta 版本,暂只在 Android 平台支持,详见 分享到朋友圈 (Beta)

基础库 2.11.3 开始支持,低版本需做兼容处理。

返回

void | ICustomTimelineContent

继承自

MiniProgramPageLifetimes.onShareTimeline


onShow()?

optional onShow: () => void | Promise<void>

定义于: node_modules/.pnpm/[email protected]/node_modules/miniprogram-api-typings/types/wx/lib.wx.page.d.ts:60

生命周期回调—监听页面显示

页面显示/切入前台时触发。

返回

void | Promise<void>

继承自

MiniProgramPageLifetimes.onShow


onTabItemTap()?

optional onTabItemTap: (options) => void | Promise<void>

定义于: node_modules/.pnpm/[email protected]/node_modules/miniprogram-api-typings/types/wx/lib.wx.page.d.ts:135

当前是 tab 页时,点击 tab 时触发,最低基础库: 1.9.0

参数

options

ITabItemTapOption

tab 点击参数

返回

void | Promise<void>

继承自

MiniProgramPageLifetimes.onTabItemTap


onUnload()?

optional onUnload: () => void | Promise<void>

定义于: node_modules/.pnpm/[email protected]/node_modules/miniprogram-api-typings/types/wx/lib.wx.page.d.ts:78

生命周期回调—监听页面卸载

页面卸载时触发。如redirectTonavigateBack到其他页面时。

返回

void | Promise<void>

继承自

MiniProgramPageLifetimes.onUnload


options?

optional options: ComponentOptions

定义于: packages/wevu/src/runtime/types.ts:204

组件选项(multipleSlots/styleIsolation/pureDataPattern/virtualHost 等)。

继承自

MiniProgramComponentOptions.options


pageLifetimes?

optional pageLifetimes: Partial<PageLifetimes>

定义于: packages/wevu/src/runtime/types.ts:199

组件所在页面的生命周期声明对象:show/hide/resize/routeDone

继承自

MiniProgramComponentOptions.pageLifetimes


properties?

optional properties: IAnyObject

定义于: packages/wevu/src/runtime/types.ts:226

原生 properties(与 wevu 的 props 不同)。

  • 推荐:使用 wevu 的 props 选项,让运行时规范化为小程序 properties
  • 兼容:也可以直接传入小程序 properties

继承自

MiniProgramComponentOptions.properties


props?

optional props: P

定义于: packages/wevu/src/runtime/types.ts:491

类 Vue 的 props 定义(会被规范化为小程序 properties


ready()?

optional ready: () => void

定义于: packages/wevu/src/runtime/types.ts:234

返回

void

已被弃用

旧式的定义方式,基础库 2.2.3 起请在 lifetimes 中定义

在组件在视图层布局完成后执行

最低基础库版本:1.6.3

继承自

MiniProgramComponentOptions.ready


relations?

optional relations: object

定义于: packages/wevu/src/runtime/types.ts:180

组件间关系定义。

索引签名

[componentName: string]: RelationOption

继承自

MiniProgramComponentOptions.relations


setData?

optional setData: SetDataSnapshotOptions

定义于: packages/wevu/src/runtime/types.ts:508

setData 快照控制选项(用于优化性能与 payload)。


setup?

optional setup: SetupFunction<P, D, C, M>

定义于: packages/wevu/src/runtime/types.ts:493


watch?

optional watch: Record<string, any>

定义于: packages/wevu/src/runtime/types.ts:492

Released under the MIT License.