feat(Popover): add trigger prop (#7646)

This commit is contained in:
neverland
2020-11-26 20:31:38 +08:00
committed by GitHub
parent d3f38c29f9
commit 7e4ff3b667
6 changed files with 81 additions and 28 deletions
@@ -9,21 +9,21 @@ exports[`should allow to custom the className of action 1`] = `
exports[`should locate to reference element when showed 1`] = `<!---->`;
exports[`should locate to reference element when showed 2`] = `
<div class="van-popup van-popover van-popover--light" name="van-popover-zoom" style="position: absolute; left: 0px; top: 8px; margin: 0px; z-index: 2006;" data-popper-placement="bottom">
<div class="van-popup van-popover van-popover--light" name="van-popover-zoom" style="position: absolute; left: 0px; top: 8px; margin: 0px; z-index: 2007;" data-popper-placement="bottom">
<div class="van-popover__arrow"></div>
<div class="van-popover__content"></div>
</div>
`;
exports[`should locate to reference element when showed 3`] = `
<div class="van-popup van-popover van-popover--light" name="van-popover-zoom" style="position: absolute; left: 0px; top: 8px; margin: 0px; z-index: 2006; display: none;" data-popper-placement="bottom">
<div class="van-popup van-popover van-popover--light" name="van-popover-zoom" style="position: absolute; left: 0px; top: 8px; margin: 0px; z-index: 2007; display: none;" data-popper-placement="bottom">
<div class="van-popover__arrow"></div>
<div class="van-popover__content"></div>
</div>
`;
exports[`should watch placement prop and update location 1`] = `
<div class="van-popup van-popover van-popover--light" name="van-popover-zoom" style="z-index: 2007; position: absolute; left: 0px; top: -8px; margin: 0px;" data-popper-placement="top">
<div class="van-popup van-popover van-popover--light" name="van-popover-zoom" style="z-index: 2008; position: absolute; left: 0px; top: -8px; margin: 0px;" data-popper-placement="top">
<div class="van-popover__arrow"></div>
<div class="van-popover__content"></div>
</div>
+18
View File
@@ -7,6 +7,24 @@ const baseActions = [
{ text: 'Option 3' },
];
test('should toggle popover when trigger is "click" and the reference element is clicked', () => {
const wrapper = mount(Popover, {
propsData: {
value: true,
},
scopedSlots: {
reference: '<div class="reference"></div>',
},
});
wrapper.find('.reference').trigger('click');
expect(wrapper.emitted('input')).toBeFalsy();
wrapper.setProps({ trigger: 'click' });
wrapper.find('.reference').trigger('click');
expect(wrapper.emitted('input')[0][0]).toEqual(false);
});
test('should emit select event when clicking the action', () => {
const wrapper = mount(Popover, {
propsData: {