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()?
optionalattached: () =>void
定义于: packages/wevu/src/runtime/types.ts:233
返回
void
已被弃用
旧式的定义方式,基础库 2.2.3 起请在 lifetimes 中定义
在组件实例进入页面节点树时执行
最低基础库版本:1.6.3
继承自
MiniProgramComponentOptions.attached
behaviors?
optionalbehaviors:MiniProgramBehaviorIdentifier[]
定义于: packages/wevu/src/runtime/types.ts:170
类似于 mixins/traits 的组件间代码复用机制(behaviors)。
继承自
MiniProgramComponentOptions.behaviors
computed?
optionalcomputed:C
定义于: packages/wevu/src/runtime/types.ts:503
组件 computed(会参与快照 diff)。
created()?
optionalcreated: () =>void
定义于: packages/wevu/src/runtime/types.ts:232
旧式生命周期(基础库 2.2.3 起推荐使用 lifetimes 字段)。 保留以增强类型提示与兼容性。
返回
void
已被弃用
旧式的定义方式,基础库 2.2.3 起请在 lifetimes 中定义
在组件实例刚刚被创建时执行
最低基础库版本:1.6.3
继承自
MiniProgramComponentOptions.created
data()?
optionaldata: () =>D
定义于: packages/wevu/src/runtime/types.ts:498
组件 data(建议使用函数返回初始值)。
返回
D
definitionFilter?
optionaldefinitionFilter:DefinitionFilter
定义于: packages/wevu/src/runtime/types.ts:209
定义段过滤器,用于自定义组件扩展。
继承自
MiniProgramComponentOptions.definitionFilter
detached()?
optionaldetached: () =>void
定义于: packages/wevu/src/runtime/types.ts:236
返回
void
已被弃用
旧式的定义方式,基础库 2.2.3 起请在 lifetimes 中定义
在组件实例被从页面节点树移除时执行
最低基础库版本:1.6.3
继承自
MiniProgramComponentOptions.detached
error()?
optionalerror: (err) =>void
定义于: packages/wevu/src/runtime/types.ts:237
参数
err
Error
返回
void
已被弃用
旧式的定义方式,基础库 2.2.3 起请在 lifetimes 中定义
每当组件方法抛出错误时执行
最低基础库版本:2.4.1
继承自
MiniProgramComponentOptions.error
export()?
optionalexport: () =>IAnyObject
定义于: packages/wevu/src/runtime/types.ts:218
组件自定义导出:当使用 behavior: wx://component-export 时, 可用于指定组件被 selectComponent 调用时的返回值。
wevu 默认会将 setup() 中通过 expose() 写入的内容作为 export() 返回值, 因此大多数情况下无需手动编写 export();若同时提供 export(),则会与 expose() 结果浅合并。
返回
IAnyObject
继承自
MiniProgramComponentOptions.export
externalClasses?
optionalexternalClasses:string[]
定义于: packages/wevu/src/runtime/types.ts:175
组件接受的外部样式类。
继承自
MiniProgramComponentOptions.externalClasses
features?
optionalfeatures:PageFeatures
定义于: packages/wevu/src/runtime/types.ts:486
页面特性开关(用于按需注入 Page 事件处理函数)。
说明:小程序的部分页面事件/菜单项具有“按需派发/按需展示”特性, 只有定义了对应的 onXXX 方法才会触发/展示(如 onPageScroll、onShareTimeline)。 因此 wevu 需要在注册阶段(Component())就决定是否注入这些 onXXX。
- 若你在 options 中显式定义了原生
onXXX,wevu 会自动桥接对应 hook(无需 features)。 - 若你只想在
setup()里使用 wevu hook(不额外写原生onXXX),则通过features显式开启注入。
lifetimes?
optionallifetimes: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?
optionalmethods:M
定义于: packages/wevu/src/runtime/types.ts:513
组件 methods(会绑定到 public instance 上)。
moved()?
optionalmoved: () =>void
定义于: packages/wevu/src/runtime/types.ts:235
返回
void
已被弃用
旧式的定义方式,基础库 2.2.3 起请在 lifetimes 中定义
在组件实例被移动到节点树另一个位置时执行
最低基础库版本:1.6.3
继承自
MiniProgramComponentOptions.moved
observers?
optionalobservers:Record<string, (...args) =>any>
定义于: packages/wevu/src/runtime/types.ts:185
组件数据字段监听器,用于监听 properties 和 data 的变化。
继承自
MiniProgramComponentOptions.observers
onAddToFavorites()?
optionalonAddToFavorites: (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()?
optionalonHide: () =>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()?
optionalonLoad: (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()?
optionalonPageScroll: (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()?
optionalonPullDownRefresh: () =>void|Promise<void>
定义于: node_modules/.pnpm/[email protected]/node_modules/miniprogram-api-typings/types/wx/lib.wx.page.d.ts:91
监听用户下拉动作
监听用户下拉刷新事件。
- 需要在
app.json的window选项中或页面配置中开启enablePullDownRefresh。 - 可以通过
wx.startPullDownRefresh触发下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。 - 当处理完数据刷新后,
wx.stopPullDownRefresh可以停止当前页面的下拉刷新。
返回
void | Promise<void>
继承自
MiniProgramPageLifetimes.onPullDownRefresh
onReachBottom()?
optionalonReachBottom: () =>void|Promise<void>
定义于: node_modules/.pnpm/[email protected]/node_modules/miniprogram-api-typings/types/wx/lib.wx.page.d.ts:98
页面上拉触底事件的处理函数
监听用户上拉触底事件。
- 可以在
app.json的window选项中或页面配置中设置触发距离onReachBottomDistance。 - 在触发距离内滑动期间,本事件只会被触发一次。
返回
void | Promise<void>
继承自
MiniProgramPageLifetimes.onReachBottom
onReady()?
optionalonReady: () =>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()?
optionalonResize: (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()?
optionalonRouteDone: () =>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()?
optionalonSaveExitState: () =>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()?
optionalonShareAppMessage: (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()?
optionalonShareTimeline: () =>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()?
optionalonShow: () =>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()?
optionalonTabItemTap: (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()?
optionalonUnload: () =>void|Promise<void>
定义于: node_modules/.pnpm/[email protected]/node_modules/miniprogram-api-typings/types/wx/lib.wx.page.d.ts:78
生命周期回调—监听页面卸载
页面卸载时触发。如redirectTo或navigateBack到其他页面时。
返回
void | Promise<void>
继承自
MiniProgramPageLifetimes.onUnload
options?
optionaloptions:ComponentOptions
定义于: packages/wevu/src/runtime/types.ts:204
组件选项(multipleSlots/styleIsolation/pureDataPattern/virtualHost 等)。
继承自
MiniProgramComponentOptions.options
pageLifetimes?
optionalpageLifetimes:Partial<PageLifetimes>
定义于: packages/wevu/src/runtime/types.ts:199
组件所在页面的生命周期声明对象:show/hide/resize/routeDone。
继承自
MiniProgramComponentOptions.pageLifetimes
properties?
optionalproperties:IAnyObject
定义于: packages/wevu/src/runtime/types.ts:226
原生 properties(与 wevu 的 props 不同)。
- 推荐:使用 wevu 的
props选项,让运行时规范化为小程序properties。 - 兼容:也可以直接传入小程序
properties。
继承自
MiniProgramComponentOptions.properties
props?
optionalprops:P
定义于: packages/wevu/src/runtime/types.ts:491
类 Vue 的 props 定义(会被规范化为小程序 properties)
ready()?
optionalready: () =>void
定义于: packages/wevu/src/runtime/types.ts:234
返回
void
已被弃用
旧式的定义方式,基础库 2.2.3 起请在 lifetimes 中定义
在组件在视图层布局完成后执行
最低基础库版本:1.6.3
继承自
MiniProgramComponentOptions.ready
relations?
optionalrelations:object
定义于: packages/wevu/src/runtime/types.ts:180
组件间关系定义。
索引签名
[componentName: string]: RelationOption
继承自
MiniProgramComponentOptions.relations
setData?
optionalsetData:SetDataSnapshotOptions
定义于: packages/wevu/src/runtime/types.ts:508
setData 快照控制选项(用于优化性能与 payload)。
setup?
optionalsetup:SetupFunction<P,D,C,M>
定义于: packages/wevu/src/runtime/types.ts:493
watch?
optionalwatch:Record<string,any>