global.d.ts 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723
  1. type _Arrayable<T> = T | T[];
  2. declare global {
  3. /**
  4. * z-paging返回数据
  5. *
  6. * @since 2.5.3
  7. */
  8. interface ZPagingReturnData<T> {
  9. /**
  10. * 总列表
  11. */
  12. totalList: T[];
  13. /**
  14. * 是否没有更多数据
  15. */
  16. noMore: boolean;
  17. }
  18. /**
  19. * 嵌套父容器信息 [list组件](https://uniapp.dcloud.net.cn/component/list.html)
  20. *
  21. * @since 2.0.4
  22. */
  23. interface ZPagingSetSpecialEffectsArgs {
  24. /**
  25. * 和list同时滚动的组件id,应为外层的scroller
  26. */
  27. id?: string;
  28. /**
  29. * 要吸顶的header顶部距离scroller顶部的距离
  30. * - Android暂不支持
  31. *
  32. * @default 0
  33. */
  34. headerHeight?: number;
  35. }
  36. /**
  37. * z-paging组件实例
  38. */
  39. interface ZPagingInstance<T = any> {
  40. /**
  41. * 重新加载分页数据,pageNo恢复为默认值,相当于下拉刷新的效果
  42. *
  43. * @param [animate=false] 是否展示下拉刷新动画
  44. */
  45. reload: (animate?: boolean) => Promise<ZPagingReturnData<T>>;
  46. /**
  47. * 刷新列表数据,pageNo和pageSize不会重置,列表数据会重新从服务端获取
  48. *
  49. * @since 2.0.4
  50. */
  51. refresh: () => Promise<ZPagingReturnData<T>>;
  52. /**
  53. * 刷新列表数据至指定页
  54. *
  55. * @since 2.5.9
  56. * @param page 目标页数
  57. */
  58. refreshToPage: (page: number) => Promise<ZPagingReturnData<T>>;
  59. /**
  60. * 请求结束
  61. * - 当通过complete传进去的数组长度小于pageSize时,则判定为没有更多了
  62. *
  63. * @param [data] 请求结果数组
  64. * @param [success=true] 是否请求成功
  65. */
  66. complete: (data?: T[] | false, success?: boolean) => Promise<ZPagingReturnData<T>>;
  67. /**
  68. * 请求结束
  69. * - 通过total判断是否有更多数据
  70. *
  71. * @since 2.0.6
  72. * @param data 请求结果数组
  73. * @param total 列表总长度
  74. * @param [success=true] 是否请求成功
  75. */
  76. completeByTotal: (data: T[], total: number, success?: boolean) => Promise<ZPagingReturnData<T>>;
  77. /**
  78. * 请求结束
  79. * - 自行判断是否有更多数据
  80. *
  81. * @since 1.9.2
  82. * @param data 请求结果数组
  83. * @param noMore 是否没有更多数据
  84. * @param [success=true] 是否请求成功
  85. */
  86. completeByNoMore: (data: T[], noMore: boolean, success?: boolean) => Promise<ZPagingReturnData<T>>;
  87. /**
  88. * 请求失败
  89. * - 通过方法传入请求失败原因,将请求失败原因传递给z-paging展示
  90. *
  91. * @since 2.6.3
  92. * @param cause 请求失败原因
  93. */
  94. completeByError: (cause: string) => Promise<ZPagingReturnData<T>>;
  95. /**
  96. * 请求结束
  97. * - 保证数据一致
  98. *
  99. * @since 1.6.4
  100. * @param data 请求结果数组
  101. * @param key dataKey,需与:data-key绑定的一致
  102. * @param [success=true] 是否请求成功
  103. */
  104. completeByKey: (data: T[], key: string, success?: boolean) => Promise<ZPagingReturnData<T>>;
  105. /**
  106. * 清空分页数据,pageNo恢复为默认值
  107. *
  108. * @since 2.1.0
  109. */
  110. clear: () => void;
  111. /**
  112. * 从顶部添加数据,不会影响分页的pageNo和pageSize
  113. *
  114. * @param data 需要添加的数据,可以是一条数据或一组数据
  115. * @param [scrollToTop=true] 是否滚动到顶部,不填默认为true
  116. * @param [animate=true] 是否使用动画滚动到顶部
  117. */
  118. addDataFromTop: (data: _Arrayable<T>, scrollToTop?: boolean, animate?: boolean) => void;
  119. /**
  120. * 【不推荐】重新设置列表数据,调用此方法不会影响pageNo和pageSize,也不会触发请求
  121. * - 适用场景:当需要删除列表中某一项时,将删除对应项后的数组通过此方法传递给z-paging
  122. *
  123. * @param data 修改后的列表数组
  124. */
  125. resetTotalData: (data: T[]) => void;
  126. /**
  127. * 终止下拉刷新状态
  128. *
  129. * @since 2.1.0
  130. */
  131. endRefresh: () => void;
  132. /**
  133. * 手动更新自定义下拉刷新view高度
  134. * - 常用于某些情况下使用slot="refresher"插入的view高度未能正确计算导致异常时手动更新其高度
  135. *
  136. * @since 2.6.1
  137. */
  138. updateCustomRefresherHeight: () => void;
  139. /**
  140. * 手动关闭二楼
  141. *
  142. * @since 2.7.7
  143. */
  144. closeF2: () => void;
  145. /**
  146. * 手动触发上拉加载更多
  147. * - 非必须,可依据具体需求使用,例如当z-paging未确定高度时,内部的scroll-view会无限增高,此时z-paging无法得知是否滚动到底部,您可以在页面的onReachBottom中手动调用此方法触发上拉加载更多
  148. *
  149. * @param [source] 触发加载更多的来源类型
  150. */
  151. doLoadMore: (source?: "click" | "toBottom") => void;
  152. /**
  153. * 当使用页面滚动并且自定义下拉刷新时,请在页面的onPageScroll中调用此方法,告知z-paging当前的pageScrollTop,否则会导致在任意位置都可以下拉刷新
  154. * - 若引入了mixins,则不需要调用此方法
  155. *
  156. * @param scrollTop 从page的onPageScroll中获取的scrollTop
  157. */
  158. updatePageScrollTop: (scrollTop: number) => void;
  159. /**
  160. * 在使用页面滚动并且设置了slot="top"时,默认初次加载会自动获取其高度,并使内部容器下移,当slot="top"的view高度动态改变时,在其高度需要更新时调用此方法
  161. */
  162. updatePageScrollTopHeight: () => void;
  163. /**
  164. * 在使用页面滚动并且设置了slot="bottom"时,默认初次加载会自动获取其高度,并使内部容器下移,当slot="bottom"的view高度动态改变时,在其高度需要更新时调用此方法
  165. */
  166. updatePageScrollBottomHeight: () => void;
  167. /**
  168. * 更新slot="left"和slot="right"宽度,当slot="left"或slot="right"宽度动态改变后调用
  169. *
  170. * @since 2.3.5
  171. */
  172. updateLeftAndRightWidth: () => void;
  173. /**
  174. * 更新fixed模式下z-paging的布局,在onShow时候调用,以修复在iOS+h5+tabbar+fixed+底部有安全区域的设备中从tabbar页面跳转到无tabbar页面后返回,底部有一段空白区域的问题
  175. *
  176. * @since 2.6.5
  177. */
  178. updateFixedLayout: () => void;
  179. /**
  180. * 在使用动态高度虚拟列表时,若在列表数组中需要插入某个item,需要调用此方法
  181. *
  182. * @since 2.5.9
  183. * @param item 插入的数据项
  184. * @param index 插入的cell位置,若为2,则插入的item在原list的index=1之后,从0开始
  185. */
  186. doInsertVirtualListItem: (item: T, index: number) => void;
  187. /**
  188. * 在使用动态高度虚拟列表时,手动更新指定cell的缓存高度
  189. * - 当cell高度在初始化之后再次改变时调用
  190. *
  191. * @since 2.4.0
  192. * @param index 需要更新的cell在列表中的位置,从0开始
  193. */
  194. didUpdateVirtualListCell: (index: number) => void;
  195. /**
  196. * 在使用动态高度虚拟列表时,若删除了列表数组中的某个item,需要调用此方法以更新高度缓存数组
  197. *
  198. * @since 2.4.0
  199. * @param index 需要更新的cell在列表中的位置,从0开始
  200. */
  201. didDeleteVirtualListCell: (index: number) => void;
  202. /**
  203. * 手动触发虚拟列表渲染更新,可用于解决例如修改了虚拟列表数组中元素,但展示未更新的情况
  204. *
  205. * @since 2.7.10
  206. */
  207. updateVirtualListRender: () => void;
  208. /**
  209. * 设置本地分页,请求结束(成功或者失败)调用此方法,将请求的结果传递给z-paging作分页处理
  210. * - 若调用了此方法,则上拉加载更多时内部会自动分页,不会触发@query所绑定的事件
  211. *
  212. * @param data 请求结果数组
  213. * @param [success=true] 是否请求成功
  214. */
  215. setLocalPaging: (data: T[], success?: boolean) => Promise<ZPagingReturnData<T>>;
  216. /**
  217. * 手动触发滚动到顶部加载更多,聊天记录模式时有效
  218. */
  219. doChatRecordLoadMore: () => void;
  220. /**
  221. * 添加聊天记录,use-chat-record-mode为true时有效
  222. *
  223. * @param data 需要添加的聊天数据,可以是一条数据或一组数据
  224. * @param [scrollToBottom=true] 是否滚动到底部
  225. * @param [animate=true] 是否使用动画滚动到底部
  226. */
  227. addChatRecordData: (data: _Arrayable<T>, scrollToBottom?: boolean, animate?: boolean) => void;
  228. /**
  229. * 滚动到顶部
  230. *
  231. * @param [animate=true] 是否有动画效果
  232. */
  233. scrollToTop: (animate?: boolean) => void;
  234. /**
  235. * 滚动到底部
  236. *
  237. * @param [animate=true] 是否有动画效果
  238. */
  239. scrollToBottom: (animate?: boolean) => void;
  240. /**
  241. * 滚动到指定view
  242. * - vue中有效,若此方法无效,请使用scrollIntoViewByNodeTop
  243. *
  244. * @param id 需要滚动到的view的id值,不包含"#"
  245. * @param [offset=0] 偏移量,单位为px
  246. * @param [animate=false] 是否有动画效果
  247. */
  248. scrollIntoViewById: (id: string, offset?: number, animate?: boolean) => void;
  249. /**
  250. * 滚动到指定view
  251. * - vue中有效
  252. *
  253. * @since 1.7.4
  254. * @param top 需要滚动的view的top值(通过uni.createSelectorQuery()获取)
  255. * @param [offset=0] 偏移量,单位为px
  256. * @param [animate=false] 是否有动画效果
  257. */
  258. scrollIntoViewByNodeTop: (top: number, offset?: number, animate?: boolean) => void;
  259. /**
  260. * 滚动到指定view
  261. * - vue中有效
  262. * - 与scrollIntoViewByNodeTop的不同之处在于,scrollToY传入的是view相对于屏幕的top值,而scrollIntoViewByNodeTop传入的top值并非是固定的,通过uni.createSelectorQuery()获取到的top会因列表滚动而改变
  263. *
  264. * @param top 需要滚动到的view的top值,单位为px
  265. * @param [offset=0] 偏移量,单位为px
  266. * @param [animate=false] 是否有动画效果
  267. */
  268. scrollToY: (top: number, offset?: number, animate?: boolean) => void;
  269. /**
  270. * 滚动到指定view
  271. * - nvue或虚拟列表中有效
  272. * - 在nvue中的cell必须设置 :ref="`z-paging-${index}`"
  273. *
  274. * @param index 需要滚动到的view的index(第几个)
  275. * @param [offset=0] 偏移量,单位为px
  276. * @param [animate=false] 是否有动画效果
  277. */
  278. scrollIntoViewByIndex: (index: number, offset?: number, animate?: boolean) => void;
  279. /**
  280. * 滚动到指定view
  281. * - nvue中有效
  282. *
  283. * @param view 需要滚动到的view(通过this.$refs.xxx获取)
  284. * @param [offset=0] 偏移量,单位为px
  285. * @param [animate=false] 是否有动画效果
  286. */
  287. scrollIntoViewByView: (view: any, offset?: number, animate?: boolean) => void;
  288. /**
  289. * 设置nvue List的specialEffects
  290. *
  291. * @since 2.0.4
  292. * @param args 参见https://uniapp.dcloud.io/component/list?id=listsetspecialeffects
  293. */
  294. setSpecialEffects: (args: ZPagingSetSpecialEffectsArgs) => void;
  295. /**
  296. * 与{@link setSpecialEffects}相同
  297. *
  298. * @since 2.0.4
  299. */
  300. setListSpecialEffects: (args: ZPagingSetSpecialEffectsArgs) => void;
  301. /**
  302. * 手动更新列表缓存数据,将自动截取v-model绑定的list中的前pageSize条覆盖缓存,请确保在list数据更新到预期结果后再调用此方法
  303. *
  304. * @since 2.3.9
  305. */
  306. updateCache: () => void;
  307. /**
  308. * 获取当前版本号
  309. */
  310. getVersion: () => string;
  311. }
  312. /**
  313. * z-paging全局数据
  314. * - uni.$zp
  315. *
  316. * @since 2.6.5
  317. */
  318. interface ZPagingGlobal {
  319. /**
  320. * 配置
  321. */
  322. config: Record<string, any>;
  323. }
  324. /**
  325. * 虚拟列表数据项
  326. *
  327. * @since 2.7.7
  328. */
  329. type ZPagingVirtualItem<T> = T & {
  330. /**
  331. * 元素真实索引
  332. */
  333. zp_index: number;
  334. };
  335. namespace ZPagingEvent {
  336. /**
  337. * query的触发来源:0.用户主动下拉刷新 1.通过reload触发 2.通过refresh触发 3.通过滚动到底部加载更多或点击底部加载更多触发
  338. */
  339. type _QueryFrom = 0 | 1 | 2 | 3;
  340. /**
  341. * 下拉刷新或滚动到底部时会自动触发此方法
  342. *
  343. * @param pageNo 当前第几页
  344. * @param pageSize 每页多少条
  345. * @param from query的触发来源:0.用户主动下拉刷新 1.通过reload触发 2.通过refresh触发 3.通过滚动到底部加载更多或点击底部加载更多触发
  346. */
  347. interface Query {
  348. (pageNo: number, pageSize: number, from: _QueryFrom): void;
  349. }
  350. /**
  351. * 分页渲染的数组改变时触发
  352. *
  353. * @param list 最终的分页数据数组
  354. */
  355. interface ListChange {
  356. (list: []): void;
  357. }
  358. /**
  359. * 下拉刷新状态:0-默认状态 1.松手立即刷新 2.刷新中 3.刷新成功(默认情况下看不到此状态,如果需要展示刷新成功状态,请设置刷新结束以后延时收回的时间,如:refresher-complete-delay="200")
  360. */
  361. type _RefresherStatus = 0 | 1 | 2 | 3;
  362. /**
  363. * 自定义下拉刷新状态改变
  364. * - use-custom-refresher为false时无效
  365. *
  366. * @param status 下拉刷新状态:0-默认状态 1.松手立即刷新 2.刷新中 3.刷新成功(默认情况下看不到此状态,如果需要展示刷新成功状态,请设置刷新结束以后延时收回的时间,如:refresher-complete-delay="200")
  367. */
  368. interface RefresherStatusChange {
  369. (status: _RefresherStatus): void;
  370. }
  371. /**
  372. * 自定义下拉刷新下拉开始
  373. * - use-custom-refresher为false时无效,nvue无效
  374. *
  375. * @param y 当前触摸开始的屏幕点的y值(单位px)
  376. */
  377. interface RefresherTouchstart {
  378. (y: number): void;
  379. }
  380. /**
  381. * touchmove信息
  382. */
  383. interface _RefresherTouchmoveInfo {
  384. /** 下拉的距离 */
  385. pullingDistance: number;
  386. /** 前后两次回调滑动距离的差值 */
  387. dy: number;
  388. /** refresh组件高度 */
  389. viewHeight: number;
  390. /** pullingDistance/viewHeight的比值 */
  391. rate: number;
  392. }
  393. /**
  394. * 自定义下拉刷新下拉拖动中
  395. * - use-custom-refresher为false时无效
  396. * - 在使用wxs的平台上,为减少wxs与js通信折损,只有在z-paging添加@refresherTouchmove时,wxs才会实时将下拉拖动事件传给js,在微信小程序和QQ小程序中,因$listeners无效,所以必须设置:watch-refresher-touchmove="true"方可使此事件被触发
  397. *
  398. * @param info touchmove信息
  399. */
  400. interface RefresherTouchmove {
  401. (info: _RefresherTouchmoveInfo): void;
  402. }
  403. /**
  404. * 自定义下拉刷新下拉结束
  405. * - use-custom-refresher为false时无效,nvue无效
  406. *
  407. * @param y 当前触摸开始的屏幕点的y值(单位px)
  408. */
  409. interface RefresherTouchend {
  410. (y: number): void;
  411. }
  412. /**
  413. * 下拉进入二楼状态:go-二楼开启 close-二楼关闭
  414. */
  415. type _RefresherF2ChangeStatus = 'go' | 'close';
  416. /**
  417. * 下拉进入二楼状态改变
  418. *
  419. * @since 2.7.7
  420. * @param status 下拉进入二楼状态:go-二楼开启 close-二楼关闭
  421. */
  422. interface RefresherF2Change {
  423. (status: _RefresherF2ChangeStatus): void;
  424. }
  425. /**
  426. * 自定义下拉刷新被触发
  427. */
  428. interface OnRefresh {
  429. (): void;
  430. }
  431. /**
  432. * 自定义下拉刷新被复位
  433. */
  434. interface OnRestore {
  435. (): void;
  436. }
  437. /**
  438. * 底部加载更多状态:0-默认状态 1.加载中 2.没有更多数据 3.加载失败
  439. */
  440. type _LoadingStatus = 0 | 1 | 2 | 3;
  441. /**
  442. * 下拉进入二楼状态改变
  443. *
  444. * @param status 底部加载更多状态:0-默认状态 1.加载中 2.没有更多数据 3.加载失败
  445. */
  446. interface LoadingStatusChange {
  447. (status: _LoadingStatus): void;
  448. }
  449. /**
  450. * 点击空数据图中重新加载后是否进行reload操作,默认为是。如果需要禁止reload事件,则调用handler(false)
  451. */
  452. type _EmptyViewReloadHandler = (value: boolean) => void;
  453. /**
  454. * 点击了空数据图中的重新加载按钮
  455. *
  456. * @since 1.8.0
  457. * @param handler 点击空数据图中重新加载后是否进行reload操作,默认为是。如果需要禁止reload事件,则调用handler(false)
  458. */
  459. interface EmptyViewReload {
  460. (handler: _EmptyViewReloadHandler): void;
  461. }
  462. /**
  463. * 点击了空数据图view
  464. *
  465. * @since 2.3.3
  466. */
  467. interface EmptyViewClick {
  468. (): void;
  469. }
  470. /**
  471. * 请求失败状态改变
  472. *
  473. * @since 2.5.0
  474. * @param isLoadFailed 当前是否是请求失败状态,为true代表是,反之为否;默认状态为否
  475. */
  476. interface IsLoadFailedChange {
  477. (isLoadFailed: boolean): void;
  478. }
  479. /**
  480. * 点击返回顶部按钮后是否滚动到顶部,默认为是。如果需要禁止滚动到顶部事件,则调用handler(false)
  481. */
  482. type _BackToTopClickHandler = (value: boolean) => void;
  483. /**
  484. * 点击了返回顶部按钮
  485. *
  486. * @since 2.6.1
  487. * @param handler 点击返回顶部按钮后是否滚动到顶部,默认为是。如果需要禁止滚动到顶部事件,则调用handler(false)
  488. */
  489. interface BackToTopClick {
  490. (handler: _BackToTopClickHandler): void;
  491. }
  492. /**
  493. * 虚拟列表当前渲染的数组改变时触发,在虚拟列表中只会渲染可见区域内+预加载页面的数据
  494. * -nvue无效
  495. *
  496. * @since 2.2.7
  497. * @param list 虚拟列表当前渲染的数组
  498. */
  499. interface VirtualListChange {
  500. (list: []): void;
  501. }
  502. /**
  503. * 使用虚拟列表或内置列表时点击了cell的信息
  504. */
  505. interface _InnerCellClickInfo<T> {
  506. /** 当前点击的item */
  507. item: T;
  508. /** 当前点击的index */
  509. index: number;
  510. }
  511. /**
  512. * 使用虚拟列表或内置列表时点击了cell
  513. * -nvue无效
  514. *
  515. * @since 2.4.0
  516. * @param info 点击cell的信息
  517. */
  518. interface InnerCellClick {
  519. (info: _InnerCellClickInfo<any>): void;
  520. }
  521. /**
  522. * 在聊天记录模式下,触摸列表隐藏了键盘
  523. *
  524. * @since 2.3.6
  525. */
  526. interface HidedKeyboard {
  527. (): void;
  528. }
  529. /**
  530. * 键盘的高度信息
  531. */
  532. interface _KeyboardHeightInfo {
  533. /** 键盘的高度 */
  534. height: number;
  535. }
  536. /**
  537. * 键盘高度改变
  538. * -聊天记录模式启用时才有效,如果在聊天记录模式页面需要监听键盘高度改变,请不要直接通过uni.onKeyboardHeightChange监听,否则可能导致z-paging内置的键盘高度改变监听失效。ps:H5、百度小程序、抖音小程序、飞书小程序不支持
  539. *
  540. * @since 2.7.1
  541. * @param info 键盘高度信息
  542. */
  543. interface KeyboardHeightChange {
  544. (info: _KeyboardHeightInfo): void;
  545. }
  546. /**
  547. * 列表滚动信息(vue)
  548. */
  549. interface _ScrollInfo {
  550. detail: {
  551. scrollLeft: number;
  552. scrollTop: number;
  553. scrollHeight: number;
  554. scrollWidth: number;
  555. deltaX: number;
  556. deltaY: number;
  557. }
  558. }
  559. /**
  560. * 列表滚动信息(nvue)
  561. */
  562. interface _ScrollInfoN {
  563. contentSize: {
  564. width: number;
  565. height: number;
  566. };
  567. contentOffset: {
  568. x: number;
  569. y: number;
  570. };
  571. isDragging: boolean;
  572. }
  573. /**
  574. * 列表滚动时触发
  575. *
  576. * @param event 滚动事件信息,vue使用_ScrollInfo,nvue使用_ScrollInfoN
  577. */
  578. interface Scroll {
  579. (event: _ScrollInfo | _ScrollInfoN): void;
  580. }
  581. /**
  582. * scrollTop改变时触发,使用点击返回顶部时需要获取scrollTop时可使用此事件
  583. *
  584. * @param scrollTop
  585. */
  586. interface ScrollTopChange {
  587. (scrollTop: number): void;
  588. }
  589. /**
  590. * 内置的scroll-view滚动底部时的来源(toBottom滚动到底部;click点击了加载更多view)
  591. */
  592. type _ScrolltolowerFrom = 'toBottom' | 'click';
  593. /**
  594. * 内置的scroll-view滚动底部时触发
  595. *
  596. * @param from 来源(toBottom滚动到底部;click点击了加载更多view)
  597. */
  598. interface Scrolltolower {
  599. (from: _ScrolltolowerFrom): void;
  600. }
  601. /**
  602. * 内置的scroll-view滚动顶部时触发
  603. */
  604. interface Scrolltoupper {
  605. (): void;
  606. }
  607. /**
  608. * 滚动结束时触发事件信息
  609. */
  610. interface _ScrollendEvent {
  611. contentSize: {
  612. width: number;
  613. height: number;
  614. };
  615. contentOffset: {
  616. x: number;
  617. y: number;
  618. };
  619. isDragging: boolean;
  620. }
  621. /**
  622. * 内置的list滚动结束时触发
  623. * -仅nvue有效
  624. *
  625. * @since 2.7.3
  626. * @param event 滚动结束时触发事件信息
  627. */
  628. interface Scrollend {
  629. (event: _ScrollendEvent): void;
  630. }
  631. /**
  632. * z-paging中内容高度改变时触发
  633. *
  634. * @since 2.1.3
  635. * @param height 改变后的高度
  636. */
  637. interface ContentHeightChanged {
  638. (height: number): void;
  639. }
  640. /**
  641. * 列表触摸的方向,top代表用户将列表向上移动(scrollTop不断减小),bottom代表用户将列表向下移动(scrollTop不断增大)
  642. */
  643. type _TouchDirection = 'top' | 'bottom';
  644. /**
  645. * 监听列表触摸方向改变
  646. *
  647. * @since 2.3.0
  648. * @param direction 列表触摸的方向,top代表用户将列表向上移动(scrollTop不断减小),bottom代表用户将列表向下移动(scrollTop不断增大)
  649. */
  650. interface TouchDirectionChange {
  651. (direction: _TouchDirection): void;
  652. }
  653. }
  654. }
  655. export {};