Initial commit

This commit is contained in:
yuantao
2025-09-23 12:37:15 +08:00
commit 8cdba74982
576 changed files with 68926 additions and 0 deletions

11
components/z-paging/types/comps.d.ts vendored Normal file
View File

@@ -0,0 +1,11 @@
declare module 'vue' {
export interface GlobalComponents {
['z-paging']: typeof import('./comps/z-paging')['ZPaging']
['z-paging-swiper']: typeof import('./comps/z-paging-swiper')['ZPagingSwiper']
['z-paging-swiper-item']: typeof import('./comps/z-paging-swiper-item')['ZPagingSwiperItem']
['z-paging-empty-view']: typeof import('./comps/z-paging-empty-view')['ZPagingEmptyView']
['z-paging-cell']: typeof import('./comps/z-paging-cell')['ZPagingCell']
}
}
export {}

View File

@@ -0,0 +1,9 @@
export interface AllowedComponentProps {
class?: unknown;
style?: unknown;
}
export interface VNodeProps {
key?: string | number | symbol;
ref?: unknown;
}

View File

@@ -0,0 +1,29 @@
import { AllowedComponentProps, VNodeProps } from './_common'
// ****************************** Props ******************************
declare interface ZPagingCellProps {
/**
* z-paging-cell样式
*/
cellStyle?: Record<string, any>
}
// ****************************** Slots ******************************
declare interface ZPagingCellSlots {
// ******************** 主体布局Slot ********************
/**
* 默认插入的view
*/
['default']?: () => any
}
declare interface _ZPagingCell {
new (): {
$props: AllowedComponentProps &
VNodeProps &
ZPagingCellProps
$slots: ZPagingCellSlots
}
}
export declare const ZPagingCell: _ZPagingCell

View File

@@ -0,0 +1,95 @@
import { AllowedComponentProps, VNodeProps } from './_common'
// ****************************** Props ******************************
declare interface ZPagingEmptyViewProps {
/**
* 空数据图片是否铺满z-paging默认为是。若设置为否则为填充满z-paging的剩余部分
* @default false
* @since 2.0.3
*/
emptyViewFixed?: boolean;
/**
* 空数据图描述文字
* @default "没有数据哦~"
*/
emptyViewText?: string;
/**
* 空数据图图片默认使用z-paging内置的图片
* - 建议使用绝对路径,开头不要添加"@",请以"/"开头
*/
emptyViewImg?: string;
/**
* 空数据图点击重新加载文字
* @default "重新加载"
* @since 1.6.7
*/
emptyViewReloadText?: string;
/**
* 空数据图样式可设置空数据view的top等
* - 如果空数据图不是fixed布局则此处是`margin-top`
*/
emptyViewStyle?: Record<string, any>;
/**
* 空数据图img样式
*/
emptyViewImgStyle?: Record<string, any>;
/**
* 空数据图描述文字样式
*/
emptyViewTitleStyle?: Record<string, any>;
/**
* 空数据图重新加载按钮样式
* @since 1.6.7
*/
emptyViewReloadStyle?: Record<string, any>;
/**
* 是否显示空数据图重新加载按钮(无数据时)
* @default false
* @since 1.6.7
*/
showEmptyViewReload?: boolean;
/**
* 是否是加载失败
* @default false
*/
isLoadFailed?: boolean;
/**
* 空数据图中布局的单位
* @default 'rpx'
* @since 2.6.7
*/
unit?: 'rpx' | 'px';
// ****************************** Events ******************************
/**
* 点击了重新加载按钮
*/
onReload?: () => void
/**
* 点击了空数据view
* @since 2.3.3
*/
onViewClick?: () => void
}
declare interface _ZPagingEmptyView {
new (): {
$props: AllowedComponentProps &
VNodeProps &
ZPagingEmptyViewProps
}
}
export declare const ZPagingEmptyView: _ZPagingEmptyView

View File

@@ -0,0 +1,95 @@
import { AllowedComponentProps, VNodeProps } from './_common'
// ****************************** Props ******************************
declare interface ZPagingSwiperItemProps {
/**
* 当前组件的index也就是当前组件是swiper中的第几个
* @default 0
*/
tabIndex?: number
/**
* 当前swiper切换到第几个index
* @default 0
*/
currentIndex?: number
/**
* 是否使用虚拟列表。使用页面滚动或nvue时不支持虚拟列表。在nvue中z-paging内置了list组件效果与虚拟列表类似并且可以提供更好的性能。
* @default false
*/
useVirtualList?: boolean
/**
* 虚拟列表cell高度模式默认为`fixed`也就是每个cell高度完全相同将以第一个cell高度为准进行计算。
* @default 'fixed'
*/
cellHeightMode?: 'fixed' | 'dynamic'
/**
* 预加载的列表可视范围(列表高度)页数。此数值越大则虚拟列表中加载的dom越多内存消耗越大(会维持在一个稳定值),但增加预加载页面数量可缓解快速滚动短暂白屏问题。
* @default 12
*/
preloadPage?: number | string
/**
* 虚拟列表列数默认为1。常用于每行有多列的情况例如每行有2列数据需要将此值设置为2。
* @default 1
* @since 2.2.8
*/
virtualListCol?: number | string
/**
* 虚拟列表scroll取样帧率默认为80过低容易出现白屏问题过高容易出现卡顿问题
* @default 80
*/
virtualScrollFps?: number | string
/**
* 是否在z-paging内部循环渲染列表(使用内置列表)。
* @default false
*/
useInnerList?: boolean
/**
* 内置列表cell的key名称(仅nvue有效在nvue中开启use-inner-list时必须填此项)
* @since 2.2.7
*/
cellKeyName?: string
/**
* innerList样式
*/
innerListStyle?: Record<string, any>
}
// ****************************** Methods ******************************
declare interface _ZPagingSwiperItemRef {
/**
* 重新加载分页数据pageNo恢复为默认值相当于下拉刷新的效果
*
* @param [animate=false] 是否展示下拉刷新动画
*/
reload: (animate?: boolean) => void;
/**
* 请求结束
* - 当通过complete传进去的数组长度小于pageSize时则判定为没有更多了
*
* @param [data] 请求结果数组
* @param [success=true] 是否请求成功
*/
complete: (data?: any[] | false, success?: boolean) => void;
}
declare interface _ZPagingSwiperItem {
new (): {
$props: AllowedComponentProps &
VNodeProps &
ZPagingSwiperItemProps
}
}
export declare const ZPagingSwiperItem: _ZPagingSwiperItem
export declare const ZPagingSwiperItemRef: _ZPagingSwiperItemRef

View File

@@ -0,0 +1,89 @@
import { AllowedComponentProps, VNodeProps } from './_common'
// ****************************** Props ******************************
declare interface ZPagingSwiperProps {
/**
* 是否使用fixed布局若使用fixed布局则z-paging-swiper的父view无需固定高度z-paging高度默认铺满屏幕页面中的view请放z-paging-swiper标签内需要固定在顶部的view使用slot="top"包住需要固定在底部的view使用slot="bottom"包住。
* @default true
*/
fixed?: boolean
/**
* 是否开启底部安全区域适配
* @default false
*/
safeAreaInsetBottom?: boolean
/**
* z-paging-swiper样式
*/
swiperStyle?: Record<string, any>
}
// ****************************** Slots ******************************
declare interface ZPagingSwiperSlots {
// ******************** 主体布局Slot ********************
/**
* 默认插入的view
*/
['default']?: () => any
/**
* 可以将自定义导航栏、tab-view等需要固定的(不需要跟着滚动的)元素放入slot="top"的view中。
* 注意当有多个需要固定的view时请用一个view包住它们并且在这个view上设置slot="top"。需要固定在顶部的view请勿设置position: fixed;
* @since 1.5.5
*/
['top']?: () => any
/**
* 可以将需要固定在底部的(不需要跟着滚动的)元素放入slot="bottom"的view中。
* 注意当有多个需要固定的view时请用一个view包住它们并且在这个view上设置slot="bottom"。需要固定在底部的view请勿设置position: fixed;
* @since 1.6.2
*/
['bottom']?: () => any
/**
* 可以将需要固定在左侧的(不需要跟着滚动的)元素放入slot="left"的view中。
* 注意当有多个需要固定的view时请用一个view包住它们并且在这个view上设置slot="left"。需要固定在左侧的view请勿设置position: fixed;
* @since 2.2.3
*/
['left']?: () => any
/**
* 可以将需要固定在左侧的(不需要跟着滚动的)元素放入slot="right"的view中。
* 注意当有多个需要固定的view时请用一个view包住它们并且在这个view上设置slot="right"。需要固定在右侧的view请勿设置position: fixed;
* @since 2.2.3
*/
['right']?: () => any
}
// ****************************** Methods ******************************
declare interface _ZPagingSwiperRef {
/**
* 更新slot="left"和slot="right"宽度当slot="left"或slot="right"宽度动态改变后调用
*
* @since 2.3.5
*/
updateLeftAndRightWidth: () => void;
/**
* 更新fixed模式下z-paging-swiper的布局在onShow时候调用以修复在iOS+h5+tabbar+fixed+底部有安全区域的设备中从tabbar页面跳转到无tabbar页面后返回底部有一段空白区域的问题
*
* @since 2.6.5
*/
updateFixedLayout: () => void;
}
declare interface _ZPagingSwiper {
new (): {
$props: AllowedComponentProps &
VNodeProps &
ZPagingSwiperProps
$slots: ZPagingSwiperSlots
}
}
export declare const ZPagingSwiper: _ZPagingSwiper
export declare const ZPagingSwiperRef: _ZPagingSwiperRef

File diff suppressed because it is too large Load Diff

24
components/z-paging/types/index.d.ts vendored Normal file
View File

@@ -0,0 +1,24 @@
/// <reference path="./comps.d.ts" />
declare module 'z-paging' {
export function install() : void
/**
* z-paging全局配置
* - uni.$zp
*
* @since 2.6.5
*/
interface $zp {
/**
* 全局配置
*/
config : Record<string, any>;
}
global {
interface Uni {
$zp : $zp
}
}
}
declare type ZPagingSwiperRef = typeof import('./comps/z-paging-swiper')['ZPagingSwiperRef']
declare type ZPagingSwiperItemRef = typeof import('./comps/z-paging-swiper-item')['ZPagingSwiperItemRef']