mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-05-24 07:29:16 +08:00
fix(ActionSheet): should not reopen when closed (#8271)
This commit is contained in:
parent
4cd4818bb4
commit
0093e19bf7
@ -1,3 +1,5 @@
|
|||||||
|
import Vue from 'vue';
|
||||||
|
|
||||||
// Utils
|
// Utils
|
||||||
import { createNamespace } from '../utils';
|
import { createNamespace } from '../utils';
|
||||||
import { emit, inherit } from '../utils/functional';
|
import { emit, inherit } from '../utils/functional';
|
||||||
@ -89,11 +91,13 @@ function ActionSheet(
|
|||||||
callback(item);
|
callback(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
emit(ctx, 'select', item, index);
|
|
||||||
|
|
||||||
if (props.closeOnClickAction) {
|
if (props.closeOnClickAction) {
|
||||||
emit(ctx, 'input', false);
|
emit(ctx, 'input', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Vue.nextTick(() => {
|
||||||
|
emit(ctx, 'select', item, index);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function OptionContent() {
|
function OptionContent() {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
exports[`callback events 1`] = `
|
exports[`callback events 1`] = `
|
||||||
<div class="van-popup van-popup--round van-popup--bottom van-popup--safe-area-inset-bottom van-action-sheet" name="van-popup-slide-bottom">
|
<div class="van-popup van-popup--round van-popup--bottom van-popup--safe-area-inset-bottom van-action-sheet" name="van-popup-slide-bottom" style="z-index: 2002;">
|
||||||
<div class="van-action-sheet__content"><button type="button" class="van-action-sheet__item"><span class="van-action-sheet__name">Option</span></button><button type="button" class="van-action-sheet__item van-action-sheet__item--disabled"><span class="van-action-sheet__name">Option</span></button><button type="button" class="van-action-sheet__item van-action-sheet__item--loading">
|
<div class="van-action-sheet__content"><button type="button" class="van-action-sheet__item"><span class="van-action-sheet__name">Option</span></button><button type="button" class="van-action-sheet__item van-action-sheet__item--disabled"><span class="van-action-sheet__name">Option</span></button><button type="button" class="van-action-sheet__item van-action-sheet__item--loading">
|
||||||
<div class="van-loading van-loading--circular van-action-sheet__loading-icon"><span class="van-loading__spinner van-loading__spinner--circular"><svg viewBox="25 25 50 50" class="van-loading__circular"><circle cx="50" cy="50" r="20" fill="none"></circle></svg></span></div>
|
<div class="van-loading van-loading--circular van-action-sheet__loading-icon"><span class="van-loading__spinner van-loading__spinner--circular"><svg viewBox="25 25 50 50" class="van-loading__circular"><circle cx="50" cy="50" r="20" fill="none"></circle></svg></span></div>
|
||||||
</button><button type="button" class="van-action-sheet__item"><span class="van-action-sheet__name">Option</span>
|
</button><button type="button" class="van-action-sheet__item"><span class="van-action-sheet__name">Option</span>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { mount, later } from '../../../test';
|
import { mount, later } from '../../../test';
|
||||||
import ActionSheet from '..';
|
import ActionSheet from '..';
|
||||||
|
|
||||||
test('callback events', () => {
|
test('callback events', async () => {
|
||||||
const callback = jest.fn();
|
const callback = jest.fn();
|
||||||
const onInput = jest.fn();
|
const onInput = jest.fn();
|
||||||
const onCancel = jest.fn();
|
const onCancel = jest.fn();
|
||||||
@ -34,6 +34,8 @@ test('callback events', () => {
|
|||||||
options.at(1).trigger('click');
|
options.at(1).trigger('click');
|
||||||
wrapper.find('.van-action-sheet__cancel').trigger('click');
|
wrapper.find('.van-action-sheet__cancel').trigger('click');
|
||||||
|
|
||||||
|
await later();
|
||||||
|
|
||||||
expect(callback).toHaveBeenCalled();
|
expect(callback).toHaveBeenCalled();
|
||||||
expect(onCancel).toHaveBeenCalled();
|
expect(onCancel).toHaveBeenCalled();
|
||||||
expect(onInput).toHaveBeenCalledWith(false);
|
expect(onInput).toHaveBeenCalledWith(false);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user