| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | 
							- import { VantComponent } from '../common/component';
 
- import { transition } from '../mixins/transition';
 
- VantComponent({
 
-     classes: [
 
-         'enter-class',
 
-         'enter-active-class',
 
-         'enter-to-class',
 
-         'leave-class',
 
-         'leave-active-class',
 
-         'leave-to-class',
 
-         'close-icon-class',
 
-     ],
 
-     mixins: [transition(false)],
 
-     props: {
 
-         round: Boolean,
 
-         closeable: Boolean,
 
-         customStyle: String,
 
-         overlayStyle: String,
 
-         transition: {
 
-             type: String,
 
-             observer: 'observeClass',
 
-         },
 
-         zIndex: {
 
-             type: Number,
 
-             value: 100,
 
-         },
 
-         overlay: {
 
-             type: Boolean,
 
-             value: true,
 
-         },
 
-         closeIcon: {
 
-             type: String,
 
-             value: 'cross',
 
-         },
 
-         closeIconPosition: {
 
-             type: String,
 
-             value: 'top-right',
 
-         },
 
-         closeOnClickOverlay: {
 
-             type: Boolean,
 
-             value: true,
 
-         },
 
-         position: {
 
-             type: String,
 
-             value: 'center',
 
-             observer: 'observeClass',
 
-         },
 
-         safeAreaInsetBottom: {
 
-             type: Boolean,
 
-             value: true,
 
-         },
 
-         safeAreaInsetTop: {
 
-             type: Boolean,
 
-             value: false,
 
-         },
 
-         safeAreaTabBar: {
 
-             type: Boolean,
 
-             value: false,
 
-         },
 
-         lockScroll: {
 
-             type: Boolean,
 
-             value: true,
 
-         },
 
-         rootPortal: {
 
-             type: Boolean,
 
-             value: false,
 
-         },
 
-     },
 
-     created() {
 
-         this.observeClass();
 
-     },
 
-     methods: {
 
-         onClickCloseIcon() {
 
-             this.$emit('close');
 
-         },
 
-         onClickOverlay() {
 
-             this.$emit('click-overlay');
 
-             if (this.data.closeOnClickOverlay) {
 
-                 this.$emit('close');
 
-             }
 
-         },
 
-         observeClass() {
 
-             const { transition, position, duration } = this.data;
 
-             const updateData = {
 
-                 name: transition || position,
 
-             };
 
-             if (transition === 'none') {
 
-                 updateData.duration = 0;
 
-                 this.originDuration = duration;
 
-             }
 
-             else if (this.originDuration != null) {
 
-                 updateData.duration = this.originDuration;
 
-             }
 
-             this.setData(updateData);
 
-         },
 
-     },
 
- });
 
 
  |