import { VantComponent } from '../common/component'; import { transition } from '../mixins/transition'; import { iphonex } from '../mixins/iphonex'; VantComponent({ classes: ['enter-class', 'enter-active-class', 'enter-to-class', 'leave-class', 'leave-active-class', 'leave-to-class'], mixins: [transition(false), iphonex], props: { transition: { type: String, observer: 'observeClass' }, customStyle: String, overlayStyle: String, zIndex: { type: Number, value: 100 }, overlay: { type: Boolean, value: true }, closeOnClickOverlay: { type: Boolean, value: true }, position: { type: String, value: 'center', observer: 'observeClass' } }, created: function created() { this.observeClass(); }, methods: { onClickOverlay: function onClickOverlay() { this.$emit('click-overlay'); if (this.data.closeOnClickOverlay) { this.$emit('close'); } }, observeClass: function observeClass() { var _this$data = this.data, transition = _this$data.transition, position = _this$data.position; this.updateClasses(transition || position); } } });