diff --git a/site/docs.config.js b/site/docs.config.js index 97c1dadea..a0abee74d 100644 --- a/site/docs.config.js +++ b/site/docs.config.js @@ -275,6 +275,12 @@ export default { path: '/vue-mobile/components/back-top', component: () => import('@/back-top/back-top.md'), }, + { + title: 'PullDownRefresh 下拉刷新', + name: 'pull-down-refresh', + path: '/vue-mobile/components/pull-down-refresh', + component: () => import('@/pull-down-refresh/pull-down-refresh.md'), + }, // { // title: 'ActionSheet 动作面板', // name: 'action-sheet', diff --git a/src/_common b/src/_common index c5b5d2dd5..1710b1b9a 160000 --- a/src/_common +++ b/src/_common @@ -1 +1 @@ -Subproject commit c5b5d2dd5c9c086965d05cb10117bfd79d981ac5 +Subproject commit 1710b1b9a0e3ba7bce05047831a8fe6216d67f29 diff --git a/src/components.ts b/src/components.ts index 266a91cdd..792abb596 100644 --- a/src/components.ts +++ b/src/components.ts @@ -44,6 +44,7 @@ export { default as SwipeCell } from './swipe-cell'; export { default as Skeleton } from './skeleton'; export { Grid, GridItem } from './grid'; export { default as Sticky } from './sticky'; -export { default as List, PullRefresh } from './list'; +export { default as List } from './list'; export { default as Loading } from './loading'; export { default as BackTop } from './back-top'; +export { default as PullDownRefresh } from './pull-down-refresh'; diff --git a/src/list/demos/mobile.vue b/src/list/demos/mobile.vue index 99af83404..0f527d405 100644 --- a/src/list/demos/mobile.vue +++ b/src/list/demos/mobile.vue @@ -21,13 +21,13 @@
- + {{ item }} - +
diff --git a/src/list/demos/pull-refresh.vue b/src/list/demos/pull-refresh.vue index 93e8b8a89..f03258851 100644 --- a/src/list/demos/pull-refresh.vue +++ b/src/list/demos/pull-refresh.vue @@ -1,11 +1,11 @@ + + diff --git a/src/pull-down-refresh/demos/loading-texts.vue b/src/pull-down-refresh/demos/loading-texts.vue new file mode 100644 index 000000000..7db6281cb --- /dev/null +++ b/src/pull-down-refresh/demos/loading-texts.vue @@ -0,0 +1,40 @@ + + + + + diff --git a/src/pull-down-refresh/demos/mobile.vue b/src/pull-down-refresh/demos/mobile.vue new file mode 100644 index 000000000..30d267cef --- /dev/null +++ b/src/pull-down-refresh/demos/mobile.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/src/pull-down-refresh/demos/timeout.vue b/src/pull-down-refresh/demos/timeout.vue new file mode 100644 index 000000000..af3da0000 --- /dev/null +++ b/src/pull-down-refresh/demos/timeout.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/pull-down-refresh/index.ts b/src/pull-down-refresh/index.ts new file mode 100644 index 000000000..4a440f009 --- /dev/null +++ b/src/pull-down-refresh/index.ts @@ -0,0 +1,10 @@ +import PullDownRefresh from './pull-down-refresh.vue'; +import { withInstall, WithInstallType } from '../shared'; + +import './style'; +import { TdPullDownRefreshProps } from './type'; + +export * from './type'; +export type PullDownRefreshProps = TdPullDownRefreshProps; +const _PullDownRefresh: WithInstallType = withInstall(PullDownRefresh); +export default _PullDownRefresh; diff --git a/src/pull-down-refresh/props.ts b/src/pull-down-refresh/props.ts new file mode 100644 index 000000000..bd9e65a78 --- /dev/null +++ b/src/pull-down-refresh/props.ts @@ -0,0 +1,42 @@ +/* eslint-disable */ + +/** + * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC + * */ + + import { TdPullDownRefreshProps } from './type'; + import { PropType } from 'vue'; + + export default { + modelValue: { + type: Boolean, + }, + /** 加载中下拉高度 */ + loadingBarHeight: { + type: Number, + default: 50, + }, + /** 加载loading样式 */ + loadingProps: { + type: Object as PropType, + }, + /** 提示语,组件内部默认值为 ['下拉刷新', '松手刷新', '正在刷新', '刷新完成'] */ + loadingTexts: { + type: Array as PropType, + default: (): TdPullDownRefreshProps['loadingTexts'] => [], + }, + /** 最大下拉高度 */ + maxBarHeight: { + type: Number, + default: 80, + }, + /** 刷新超时时间 */ + refreshTimeout: { + type: Number, + default: 3000, + }, + /** 结束下拉时触发 */ + onRefresh: Function as PropType, + /** 刷新超时触发 */ + onTimeout: Function as PropType, + }; \ No newline at end of file diff --git a/src/pull-down-refresh/pull-down-refresh.md b/src/pull-down-refresh/pull-down-refresh.md new file mode 100644 index 000000000..f2794f1d2 --- /dev/null +++ b/src/pull-down-refresh/pull-down-refresh.md @@ -0,0 +1,22 @@ +:: BASE_DOC :: + +## API + +### PullDownRefresh Props + +名称 | 类型 | 默认值 | 说明 | 必传 +-- | -- | -- | -- | -- +loadingBarHeight | Number | 200 | 加载中下拉高度 | N +loadingProps | Object | - | 加载loading样式。TS 类型:`TdLoadingProps`,[Loading API Documents](./loading?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-mobile-vue/tree/develop/src/pull-down-refresh/type.ts) | N +loadingTexts | Array | [] | 提示语,组件内部默认值为 ['下拉刷新', '松手刷新', '正在刷新', '刷新完成']。TS 类型:`string[]` | N +maxBarHeight | Number | 272 | 最大下拉高度 | N +refreshTimeout | Number | 3000 | 刷新超时时间 | N +onRefresh | Function | | TS 类型:`() => void`
结束下拉时触发 | N +onTimeout | Function | | TS 类型:`() => void`
刷新超时触发 | N + +### PullDownRefresh Events + +名称 | 参数 | 描述 +-- | -- | -- +refresh | - | 结束下拉时触发 +timeout | - | 刷新超时触发 \ No newline at end of file diff --git a/src/pull-down-refresh/pull-down-refresh.vue b/src/pull-down-refresh/pull-down-refresh.vue new file mode 100644 index 000000000..891b25e16 --- /dev/null +++ b/src/pull-down-refresh/pull-down-refresh.vue @@ -0,0 +1,202 @@ + + + diff --git a/src/pull-down-refresh/style/css.js b/src/pull-down-refresh/style/css.js new file mode 100644 index 000000000..6a9a4b132 --- /dev/null +++ b/src/pull-down-refresh/style/css.js @@ -0,0 +1 @@ +import './index.css'; diff --git a/src/pull-down-refresh/style/index.js b/src/pull-down-refresh/style/index.js new file mode 100644 index 000000000..0b7e6fcc7 --- /dev/null +++ b/src/pull-down-refresh/style/index.js @@ -0,0 +1 @@ +import '../../_common/style/mobile/components/pull-down-refresh/_index.less'; diff --git a/src/pull-down-refresh/type.ts b/src/pull-down-refresh/type.ts new file mode 100644 index 000000000..c025d386f --- /dev/null +++ b/src/pull-down-refresh/type.ts @@ -0,0 +1,42 @@ +/* eslint-disable */ + +/** + * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC + * */ + + import { TdLoadingProps } from '../loading'; + + export interface TdPullDownRefreshProps { + /** + * 加载中下拉高度 + * @default 200 + */ + loadingBarHeight?: number; + /** + * 加载loading样式 + */ + loadingProps?: TdLoadingProps; + /** + * 提示语,组件内部默认值为 ['下拉刷新', '松手刷新', '正在刷新', '刷新完成'] + * @default [] + */ + loadingTexts?: string[]; + /** + * 最大下拉高度 + * @default 272 + */ + maxBarHeight?: number; + /** + * 刷新超时时间 + * @default 3000 + */ + refreshTimeout?: number; + /** + * 结束下拉时触发 + */ + onRefresh?: () => void; + /** + * 刷新超时触发 + */ + onTimeout?: () => void; + } \ No newline at end of file