chore(Popover): use fragment

This commit is contained in:
chenjiahan 2020-11-26 22:29:26 +08:00
parent 1699d99272
commit 7304c98ed0
2 changed files with 7 additions and 7 deletions

View File

@ -4,6 +4,7 @@
v-model:show="show.lightTheme" v-model:show="show.lightTheme"
:actions="t('actions')" :actions="t('actions')"
placement="bottom-start" placement="bottom-start"
class="foo"
@select="onSelect" @select="onSelect"
> >
<template #reference> <template #reference>

View File

@ -2,7 +2,7 @@ import { ref, watch, nextTick, onMounted, onBeforeUnmount } from 'vue';
import { createPopper, offsetModifier } from '@vant/popperjs'; import { createPopper, offsetModifier } from '@vant/popperjs';
// Utils // Utils
import { createNamespace, stopPropagation } from '../utils'; import { createNamespace } from '../utils';
import { BORDER_BOTTOM } from '../utils/constant'; import { BORDER_BOTTOM } from '../utils/constant';
// Composition // Composition
@ -15,8 +15,6 @@ import Popup from '../popup';
const [createComponent, bem] = createNamespace('popover'); const [createComponent, bem] = createNamespace('popover');
export default createComponent({ export default createComponent({
inheritAttrs: false,
props: { props: {
show: Boolean, show: Boolean,
overlay: Boolean, overlay: Boolean,
@ -152,7 +150,10 @@ export default createComponent({
useClickAway(wrapperRef, onClickAway, { eventName: 'touchstart' }); useClickAway(wrapperRef, onClickAway, { eventName: 'touchstart' });
return () => ( return () => (
<>
<span ref={wrapperRef} class={bem('wrapper')} onClick={onClickWrapper}> <span ref={wrapperRef} class={bem('wrapper')} onClick={onClickWrapper}>
{slots.reference?.()}
</span>
<Popup <Popup
ref={popoverRef} ref={popoverRef}
show={props.show} show={props.show}
@ -162,7 +163,6 @@ export default createComponent({
teleport={props.teleport} teleport={props.teleport}
transition="van-popover-zoom" transition="van-popover-zoom"
lockScroll={false} lockScroll={false}
onClick={stopPropagation}
onTouchstart={onTouchstart} onTouchstart={onTouchstart}
{...{ ...attrs, 'onUpdate:show': toggle }} {...{ ...attrs, 'onUpdate:show': toggle }}
> >
@ -171,8 +171,7 @@ export default createComponent({
{slots.default ? slots.default() : props.actions.map(renderAction)} {slots.default ? slots.default() : props.actions.map(renderAction)}
</div> </div>
</Popup> </Popup>
{slots.reference?.()} </>
</span>
); );
}, },
}); });