mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-06 03:57:59 +08:00
fix(Tab): add nextTick to ensure rendered (#5327)
This commit is contained in:
parent
fb59e39622
commit
cd2faa2e02
@ -45,7 +45,9 @@ export default createComponent({
|
|||||||
|
|
||||||
inited(val) {
|
inited(val) {
|
||||||
if (this.parent.lazyRender && val) {
|
if (this.parent.lazyRender && val) {
|
||||||
this.parent.$emit('rendered', this.computedName, this.title);
|
this.$nextTick(() => {
|
||||||
|
this.parent.$emit('rendered', this.computedName, this.title);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -223,6 +223,8 @@ exports[`render nav-left & nav-right slot 1`] = `
|
|||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
exports[`rendered event 1`] = `<div role="tabpanel" class="van-tab__pane" style="">Text</div>`;
|
||||||
|
|
||||||
exports[`scrollspy 1`] = `
|
exports[`scrollspy 1`] = `
|
||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div>
|
<div>
|
||||||
|
@ -294,7 +294,7 @@ test('scrollspy', async () => {
|
|||||||
expect(onChange).toHaveBeenCalledWith('c', 'title3');
|
expect(onChange).toHaveBeenCalledWith('c', 'title3');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('rendered event', () => {
|
test('rendered event', async () => {
|
||||||
const onRendered = jest.fn();
|
const onRendered = jest.fn();
|
||||||
|
|
||||||
const wrapper = mount({
|
const wrapper = mount({
|
||||||
@ -314,15 +314,19 @@ test('rendered event', () => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
await later();
|
||||||
expect(onRendered).toHaveBeenCalledWith('a', 'title1');
|
expect(onRendered).toHaveBeenCalledWith('a', 'title1');
|
||||||
|
expect(wrapper.find('.van-tab__pane')).toMatchSnapshot();
|
||||||
|
|
||||||
const tabs = wrapper.findAll('.van-tab');
|
const tabs = wrapper.findAll('.van-tab');
|
||||||
tabs.at(1).trigger('click');
|
tabs.at(1).trigger('click');
|
||||||
tabs.at(0).trigger('click');
|
tabs.at(0).trigger('click');
|
||||||
|
|
||||||
|
await later();
|
||||||
expect(onRendered).toHaveBeenCalledTimes(2);
|
expect(onRendered).toHaveBeenCalledTimes(2);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should not trigger rendered event when disable lazy-render', () => {
|
test('should not trigger rendered event when disable lazy-render', async () => {
|
||||||
const onRendered = jest.fn();
|
const onRendered = jest.fn();
|
||||||
|
|
||||||
mount({
|
mount({
|
||||||
@ -337,5 +341,6 @@ test('should not trigger rendered event when disable lazy-render', () => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
await later();
|
||||||
expect(onRendered).toHaveBeenCalledTimes(0);
|
expect(onRendered).toHaveBeenCalledTimes(0);
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user