/
githubmirror
/
taro
Обзор
Документация
Войти
/
githubmirror
/
taro
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
packages/taro-runtime/src/dsl/instance.ts
91 строка
3 KB
Ding Yi
feat: 增加支付宝小程序 Page.events useKeyboardHeight (#18260)
04 сен 2025, 05:00
Не верифицирован
04 сен 2025, 05:00
1676906
Код
Авторство
О чём код?
import type { Component as Vue3Component } from '@vue/runtime-core' import type { Component, ComponentClass } from 'react' import type { TaroElement } from '../dom/element' import type { KeyFrame, MpEvent, ScrollTimelineOption, TFunc } from '../interface' export interface Instance<T = Record<string, any>> extends Component<T>, Show, PageInstance { tid?: string node?: TaroElement $forceUpdate?(): void $nextTick?(cb: () => void): void $options: Instance } export interface PageProps { tid?: string } export interface ReactPageComponent<T = PageProps> extends ComponentClass<T>, PageInstance { // } export interface ReactPageInstance<T = PageProps> extends Component<T>, PageInstance { componentDidShow?(): void componentDidHide?(): void } export interface ReactAppInstance<T = AppInstance> extends Component<T>, AppInstance { // } export interface PageLifeCycle extends Show { eh?(event: MpEvent): void onAddToFavorites?(): void onLoad?(options: Record<string, unknown>, cb?: TFunc): void onOptionMenuClick?(): void onKeyboardHeight?(obj: { height: number }): void onPageScroll?(obj: { scrollTop: number }): void onPullDownRefresh?(): void onPullIntercept?(): void onPopMenuClick?(): void onReachBottom?(): void onReady?(): void onResize?(options: unknown): void onSaveExitState?(): void onShareAppMessage?(obj: { from: string, target?: TaroElement, webViewUrl: string }): void onShareTimeline?(): void onTabItemTap?(obj: { index: string, pagePath: string, text: string }): void onTitleClick?(): void onUnload?(): void } export interface PageInstance extends PageLifeCycle { /** 页面的初始数据 */ data?: Record<string, unknown> /** 页面路径 */ path?: string /** 页面的组件选项 */ options?: Record<string, unknown> /** 页面渲染引擎类型 */ renderer?: 'webview' | 'skyline' /** 页面事件对象,支付宝小程序特有,详见[events](https://opendocs.alipay.com/mini/framework/page-detail#events) */ events?: Record<string, (...args: any[]) => any> /** 获得一个 EventChannel 对象,用于页面间通讯 */ getOpenerEventChannel?(): Record<string, any> /** 执行关键帧动画,详见[动画](https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html) */ animate?(selector: string, keyFrames: KeyFrame[], duration: number, callback: () => void): void /** 滚动驱动的动画,详见[动画](https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html) */ animate?(selector: string, keyFrames: KeyFrame[], duration: number, scrollTimeline: ScrollTimelineOption): void } interface Show { componentDidShow?(): void componentDidHide?(): void onShow?(): void onHide?(): void } export interface AppInstance extends Show { componentDidShow?(options?: Record<string, unknown>): void mount? (component: React.ComponentClass | Vue3Component, id: string, cb: (...args: any[]) => void): void mount? (component: React.ComponentClass | Vue3Component, id: string, getCtx:(...args: any[]) => void, cb: (...args: any[]) => void): void onError? (error: string): void onLaunch? (options?: Record<string, unknown>): void onPageNotFound? (res: any): void onUnhandledRejection? (error: any): void onShow?(options?: Record<string, unknown>): void onHide?(options?: Record<string, unknown>): void unmount? (id: string, cb?: () => void): void taroGlobalData?: Record<any, any> config?: Record<any, any> }