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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
| <template> <my-dialog v-model="data" v-dialogDrag :visible="visible" :title="title" :width="width" :fullscreen="fullscreen" :top="top" :modal="modal" :modal-append-to-body="modalAppendToBody" :append-to-body="appendToBody" :lock-scroll="lockScroll" :custom-class="customClass" :close-on-click-modal="closeOnClickModal" :close-on-press-escape="closeOnPressEscape" :show-close="showClose" :center="center" :before-close="beforeClose" @opened="opened" @close="close" @closed="closed" @open="open"> <slot name="title" /> <slot /> <slot name="footer" /> </my-dialog> </template>
<script> import { Dialog } from 'element-ui' export default { components: { myDialog: Dialog }, props: { value: { type: Boolean, default: true }, visible: { type: Boolean, default: false }, title: { type: String, default: '' }, width: { type: String, default: '50%' }, fullscreen: { type: Boolean, default: false }, top: { type: String, default: '15vh' }, modal: { type: Boolean, default: true }, modalAppendToBody: { type: Boolean, default: true }, appendToBody: { type: Boolean, default: false }, lockScroll: {
type: Boolean, default: true }, customClass: { type: String, default: '' }, closeOnClickModal: { type: Boolean, default: false }, closeOnPressEscape: { type: Boolean, default: true },
showClose: { type: Boolean, default: true }, center: { type: Boolean, default: false }, beforeClose: { type: Function, default: () => {} } }, data() { return { data: this.value } }, watch: { value() { this.data = this.value } }, mounted() { }, methods: { open() { this.$emit('open') }, opened() { this.$emit('opened') }, close() { this.$emit('close') }, closed() { this.$emit('closed') } } } </script>
<style> // 可以自由修改你想要的dialog全局样式 </style>
|