
探讨 element ui 的 dialog 源码:可见性属性之谜
在 Element UI 的源码中,我们可能注意到 Element Dialog 组件中没有直接定义 visible 属性,但它却可以被使用和传值。这不禁令人疑惑,visible 属性是如何被使用的?
深入源码探究发现,visible 属性实际上是通过一个名为 Popup 的 mixins 混入的。Popup mixins 中定义了 visible 属性的默认值为 false,并提供了相关的处理逻辑。
element-ui/src/utils/popup/index.js 文件中定义了 Popup mixins 的代码如下:
本书是全面讲述PHP与MySQL的经典之作,书中不但全面介绍了两种技术的核心特性,还讲解了如何高效地结合这两种技术构建健壮的数据驱动的应用程序。本书涵盖了两种技术新版本中出现的最新特性,书中大量实际的示例和深入的分析均来自于作者在这方面多年的专业经验,可用于解决开发者在实际中所面临的各种挑战。
export default {
props: {
visible: {
type: Boolean,
default: false
},
},
};而 element-ui/src/component.vue 文件中的 Element Dialog 组件代码如下:
export default {
name: 'ElDialog',
mixins: [Popup, emitter, Migrating],
};通过使用 mixins,Element Dialog 组件继承了 Popup 中定义的 visible 属性及其处理逻辑。这样一来,即使在 Element Dialog 组件的 props 中没有显式定义 visible 属性,它仍然可以使用该属性的默认值和处理逻辑。









