diff --git a/src/pull-refresh/README.md b/src/pull-refresh/README.md index 515fea14b..65b66ae85 100644 --- a/src/pull-refresh/README.md +++ b/src/pull-refresh/README.md @@ -36,7 +36,7 @@ export default { this.$toast('Refresh Success'); this.isLoading = false; this.count++; - }, 500); + }, 1000); } } } @@ -56,6 +56,42 @@ Use `success-text` to set the success prompt after the refresh is successful ``` +### Custom Tips + +Use slots to custom tips + +```html + + + + +

Refresh Count: {{ count }}

+
+ + +``` + ## API ### Props @@ -69,7 +105,7 @@ Use `success-text` to set the success prompt after the refresh is successful | success-text | Text to show when loading success | *string* | - | - | | success-duration | Success text display duration(ms) | *number* | `500` | - | | animation-duration | Animation duration | *number* | `300` | - | -| head-height | Height of head | *number* | `50` | - | +| head-height | Height of head | *number* | `50` | 2.4.2 | | disabled | Whether to disable pull refresh | *boolean* | `false` | - | ### Events diff --git a/src/pull-refresh/README.zh-CN.md b/src/pull-refresh/README.zh-CN.md index 2bc54f836..8412300d6 100644 --- a/src/pull-refresh/README.zh-CN.md +++ b/src/pull-refresh/README.zh-CN.md @@ -36,13 +36,13 @@ export default { this.$toast('刷新成功'); this.isLoading = false; this.count++; - }, 500); + }, 1000); } } } ``` -### 刷新成功提示 +### 成功提示 通过`success-text`可以设置刷新成功后的顶部提示文案 @@ -56,6 +56,45 @@ export default { ``` +### 自定义提示 + +通过插槽可以自定义下拉刷新过程中的提示内容 + +```html + + + + + + + +

刷新次数: {{ count }}

+
+ + +``` + ## API ### Props @@ -69,7 +108,7 @@ export default { | success-text | 刷新成功提示文案 | *string* | - | - | | success-duration | 刷新成功提示展示时长(ms) | *number* | `500` | - | | animation-duration | 动画时长 | *number* | `300` | - | -| head-height | 顶部内容高度 | *number* | `50` | - | +| head-height | 顶部内容高度 | *number* | `50` | 2.4.2 | | disabled | 是否禁用下拉刷新 | *boolean* | `false` | - | ### Events diff --git a/src/pull-refresh/demo/index.vue b/src/pull-refresh/demo/index.vue index f9b8fe0a3..5a1f2dccc 100644 --- a/src/pull-refresh/demo/index.vue +++ b/src/pull-refresh/demo/index.vue @@ -16,6 +16,31 @@

{{ tips }}

+ + + + + + +

{{ tips }}

+
+
@@ -24,16 +49,18 @@ export default { i18n: { 'zh-CN': { + try: '下拉试试', text: '刷新次数', success: '刷新成功', - successTip: '刷新成功提示', - try: '下拉试试' + successTip: '成功提示', + customTips: '自定义提示' }, 'en-US': { + try: 'Try it down', text: 'Refresh Count', success: 'Refresh success', successTip: 'Success Tip', - try: 'Try it down' + customTips: 'Custom Tips' } }, @@ -54,7 +81,20 @@ export default { } }, + mounted() { + this.preloadImage(); + }, + methods: { + preloadImage() { + // preload doge image + const doge = new Image(); + const dogeFire = new Image(); + + doge.src = 'https://b.yzcdn.cn/vant/doge.png'; + dogeFire.src = 'https://b.yzcdn.cn/vant/doge-fire.jpg'; + }, + onRefresh(showToast) { setTimeout(() => { if (showToast) { @@ -63,7 +103,7 @@ export default { this.isLoading = false; this.count++; - }, 500); + }, 1000); } } }; @@ -82,6 +122,13 @@ export default { } } + .doge { + width: 140px; + height: 72px; + margin-top: 8px; + border-radius: 4px; + } + p { margin: 0; padding: @padding-md 0 0 @padding-md; diff --git a/src/pull-refresh/index.less b/src/pull-refresh/index.less index 65740496f..39a834842 100644 --- a/src/pull-refresh/index.less +++ b/src/pull-refresh/index.less @@ -11,7 +11,6 @@ &__head { position: absolute; - top: -@pull-refresh-head-height; left: 0; width: 100%; height: @pull-refresh-head-height; @@ -20,5 +19,6 @@ font-size: @pull-refresh-head-font-size; line-height: @pull-refresh-head-height; text-align: center; + transform: translateY(-100%); } } diff --git a/src/pull-refresh/test/__snapshots__/demo.spec.js.snap b/src/pull-refresh/test/__snapshots__/demo.spec.js.snap index 2908bbf40..26df811a6 100644 --- a/src/pull-refresh/test/__snapshots__/demo.spec.js.snap +++ b/src/pull-refresh/test/__snapshots__/demo.spec.js.snap @@ -6,7 +6,8 @@ exports[`renders demo correctly 1`] = `
- + +
@@ -22,6 +23,9 @@ exports[`renders demo correctly 1`] = ` + diff --git a/src/pull-refresh/test/__snapshots__/index.spec.js.snap b/src/pull-refresh/test/__snapshots__/index.spec.js.snap index 96cea10fb..63c569f79 100644 --- a/src/pull-refresh/test/__snapshots__/index.spec.js.snap +++ b/src/pull-refresh/test/__snapshots__/index.spec.js.snap @@ -105,3 +105,11 @@ exports[`render success text 2`] = ` `; + +exports[`should set height when using head-height 1`] = ` +
+
+
+
+
+`; diff --git a/src/pull-refresh/test/index.spec.js b/src/pull-refresh/test/index.spec.js index 342e91cb5..f3bd238d6 100644 --- a/src/pull-refresh/test/index.spec.js +++ b/src/pull-refresh/test/index.spec.js @@ -156,3 +156,13 @@ test('render success slot', async () => { wrapper.setProps({ value: false }); expect(wrapper).toMatchSnapshot(); }); + +test('should set height when using head-height', async () => { + const wrapper = mount(PullRefresh, { + propsData: { + headHeight: 100 + } + }); + + expect(wrapper).toMatchSnapshot(); +});