All files / src/components/u-popup.vue wrapPopup.vue

0% Statements 0/18
0% Branches 0/6
0% Functions 0/7
0% Lines 0/18

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57                                                                                                                 
<template>
    <component
        v-if="this.mode && this.$env.VUE_APP_DESIGNER"
        is="u-visible-popup"
        v-bind="[$attrs, $props]"
        v-on="$listeners"
        ref="item"
    >
        <slot v-for="(item, name) in this.$slots" :name="name" :slot="name"></slot>
        <template v-for="(_, name) in $scopedSlots" :slot="name" slot-scope="slotData">
            <slot :name="name" v-bind="slotData"></slot>
        </template>
    </component>
    <component
        v-else
        v-bind="[$attrs, $props]"
        v-on="$listeners"
        ref="item"
        is="u-popup-real"
    >
        <slot v-for="(item, name) in this.$slots" :name="name" :slot="name"></slot>
        <template v-for="(_, name) in $scopedSlots" :slot="name" slot-scope="slotData">
            <slot :name="name" v-bind="slotData"></slot>
        </template>
    </component>
</template>
<script>
import UPopupReal from './index.vue';
import UVisiblePopup from './visiblePopup.vue';
export default {
    name: 'u-popup',
    component: {
        UPopupReal,
        UVisiblePopup,
    },
    props: {
        title: String,
        content: String,
        mode: { type: Boolean, default: true },
        disabled: { type: Boolean, default: false },
        mergeBorders: { type: Boolean, default: true },
    },
    methods: {
        // 双击打开弹出框
        designerDbControl() {
            this.$refs.item.designerDbControl();
        },
        open() {
            this.$refs.item.open();
        },
        close() {
            this.$refs.item.close();
        },
    },
};
</script>