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) {
|
||||
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>
|
||||
`;
|
||||
|
||||
exports[`rendered event 1`] = `<div role="tabpanel" class="van-tab__pane" style="">Text</div>`;
|
||||
|
||||
exports[`scrollspy 1`] = `
|
||||
<div class="van-tabs van-tabs--line">
|
||||
<div>
|
||||
|
@ -294,7 +294,7 @@ test('scrollspy', async () => {
|
||||
expect(onChange).toHaveBeenCalledWith('c', 'title3');
|
||||
});
|
||||
|
||||
test('rendered event', () => {
|
||||
test('rendered event', async () => {
|
||||
const onRendered = jest.fn();
|
||||
|
||||
const wrapper = mount({
|
||||
@ -314,15 +314,19 @@ test('rendered event', () => {
|
||||
}
|
||||
});
|
||||
|
||||
await later();
|
||||
expect(onRendered).toHaveBeenCalledWith('a', 'title1');
|
||||
expect(wrapper.find('.van-tab__pane')).toMatchSnapshot();
|
||||
|
||||
const tabs = wrapper.findAll('.van-tab');
|
||||
tabs.at(1).trigger('click');
|
||||
tabs.at(0).trigger('click');
|
||||
|
||||
await later();
|
||||
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();
|
||||
|
||||
mount({
|
||||
@ -337,5 +341,6 @@ test('should not trigger rendered event when disable lazy-render', () => {
|
||||
}
|
||||
});
|
||||
|
||||
await later();
|
||||
expect(onRendered).toHaveBeenCalledTimes(0);
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user