feat(List): add finished slot

This commit is contained in:
陈嘉涵 2019-12-26 20:10:26 +08:00 committed by neverland
parent 30b3e4b6ba
commit 8a0705d761
5 changed files with 29 additions and 4 deletions

View File

@ -132,3 +132,4 @@ Use [ref](https://vuejs.org/v2/api/#ref) to get List instance and call instance
|------|------|
| default | List content |
| loading | Custom loading tips |
| finished | Custom finished tips |

View File

@ -139,6 +139,7 @@ export default {
|------|------|
| default | 列表内容 |
| loading | 自定义底部加载中提示 |
| finished | 自定义加载完成后的提示文案 |
## 常见问题

View File

@ -126,10 +126,12 @@ export default createComponent({
},
genFinishedText() {
if (this.finished && this.finishedText) {
return (
<div class={bem('finished-text')}>{this.finishedText}</div>
);
if (this.finished) {
const text = this.slots('finished') || this.finishedText;
if (text) {
return <div class={bem('finished-text')}>{text}</div>;
}
}
},

View File

@ -0,0 +1,8 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`finished slot 1`] = `
<div role="feed" class="van-list">
<div class="van-list__finished-text">Custom Finished</div>
<div class="van-list__placeholder"></div>
</div>
`;

View File

@ -70,6 +70,19 @@ test('finished', async () => {
expect(wrapper.contains('.van-list__finished-text')).toBeFalsy();
});
test('finished slot', async () => {
const wrapper = mount(List, {
propsData: {
finished: true
},
scopedSlots: {
finished: () => 'Custom Finished'
}
});
expect(wrapper).toMatchSnapshot();
});
test('immediate check false', async () => {
const wrapper = mount(List, {
propsData: {