fix(Cascader): failed to update tabs when value is zero (#7778)
This commit is contained in:
@@ -6,3 +6,43 @@ exports[`should select correct option when value changed 1`] = `
|
||||
<li class="van-cascader__option van-cascader__option--selected"><span>Ouhai</span><i class="van-icon van-icon-success van-cascader__selected-icon">
|
||||
<!----></i></li>
|
||||
`;
|
||||
|
||||
exports[`should update tabs when previous tab is clicked 1`] = `
|
||||
<div class="van-cascader">
|
||||
<div class="van-cascader__header">
|
||||
<h2 class="van-cascader__title"></h2><i class="van-icon van-icon-cross van-cascader__close-icon">
|
||||
<!----></i>
|
||||
</div>
|
||||
<div class="van-tabs van-tabs--line van-cascader__tabs">
|
||||
<div class="van-tabs__wrap van-tabs__wrap--scrollable">
|
||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line van-tabs__nav--complete">
|
||||
<div role="tab" class="van-tab van-cascader__tab"><span class="van-tab__text">Jiangsu</span></div>
|
||||
<div role="tab" class="van-tab van-tab--active van-cascader__tab van-cascader__tab--unselected" aria-selected="true"><span class="van-tab__text">请选择</span></div>
|
||||
<div class="van-tabs__line" style="transform: translateX(0px) translateX(-50%); transition-duration: 0.3s;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="van-tabs__content van-tabs__content--animated">
|
||||
<div class="van-tabs__track" style="transform: translate3d(-100%, 0, 0); transition-duration: 0.3s;">
|
||||
<div role="tabpanel" class="van-tab__pane-wrapper van-tab__pane-wrapper--inactive" aria-hidden="true">
|
||||
<div class="van-tab__pane">
|
||||
<ul class="van-cascader__options">
|
||||
<li class="van-cascader__option"><span>Zhejiang</span></li>
|
||||
<li class="van-cascader__option van-cascader__option--selected"><span>Jiangsu</span><i class="van-icon van-icon-success van-cascader__selected-icon">
|
||||
<!----></i></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div role="tabpanel" class="van-tab__pane-wrapper">
|
||||
<div class="van-tab__pane">
|
||||
<ul class="van-cascader__options">
|
||||
<li class="van-cascader__option"><span>Nanjing</span></li>
|
||||
<li class="van-cascader__option"><span>Wuxi</span></li>
|
||||
<li class="van-cascader__option"><span>Xuzhou</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
@@ -94,3 +94,31 @@ test('should select correct option when value changed', async () => {
|
||||
const lastSelectedOption = selectedOptions.at(selectedOptions.length - 1);
|
||||
expect(lastSelectedOption).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('should reset selected options when value is set to emtpy', async () => {
|
||||
const wrapper = mount(Cascader, {
|
||||
propsData: {
|
||||
value: '330304',
|
||||
options,
|
||||
},
|
||||
});
|
||||
|
||||
await later();
|
||||
wrapper.setProps({ value: '' });
|
||||
await later();
|
||||
expect(wrapper.contains('.van-cascader__option--selected')).toBeFalsy();
|
||||
});
|
||||
|
||||
test('should update tabs when previous tab is clicked', async () => {
|
||||
const wrapper = mount(Cascader, {
|
||||
propsData: {
|
||||
value: '330304',
|
||||
options,
|
||||
},
|
||||
});
|
||||
|
||||
await later();
|
||||
wrapper.findAll('.van-cascader__option').at(1).trigger('click');
|
||||
await later();
|
||||
expect(wrapper.html()).toMatchSnapshot();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user