Element UI 的 Dialog 组件没有 visible 属性?它去哪了?

Element UI 的 Dialog 组件没有 visible 属性?它去哪了?

element ui 的 dialog 组件

在阅读 Element UI 的 Dialog 组件源码时,您可能注意到 props 中没有 visible 属性。这是因为 visible 属性是通过 mixins 中的 Popup 混入的。

Popup 是一个混合类,它提供了弹出式组件的基本功能,包括 visible 属性。在使用 Dialog 组件时,您仍然可以向其传递 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
    },
  },
};

以上就是Element UI 的 Dialog 组件没有 visible 属性?它去哪了?的详细内容,更多请关注其它相关文章!