element ui的源码问题?

在看element ui的源码的时候看到dialog,有个疑惑,props中没有visible,也没有看见哪里定义了它,就用它了,而且使用这个弹窗组件的时候还可以给visible传值,我不是很能清楚怎么回事

阅读 2.7k
2 个回答

visible 属性是通过 mixins 中的 Popup 混入的,源码如下:

/packages/dialog/src/component.vue
  import Popup from 'element-ui/src/utils/popup';
  import Migrating from 'element-ui/src/mixins/migrating';
  import emitter from 'element-ui/src/mixins/emitter';

  export default {
    name: 'ElDialog',

    mixins: [Popup, emitter, Migrating],
/src/utils/popup/index.js
import Vue from 'vue';
import merge from 'element-ui/src/utils/merge';
import PopupManager from 'element-ui/src/utils/popup/popup-manager';
import getScrollBarWidth from '../scrollbar-width';
import { getStyle, addClass, removeClass, hasClass } from '../dom';

let idSeed = 1;

let scrollBarWidth;

export default {
  props: {
    visible: {
      type: Boolean,
      default: false
    },
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题