ant design vue a-drawer 组件重复使用导致黑色显示的解决方法
本文介绍在 Ant Design Vue 项目中,多次使用 a-drawer 组件时,出现第一个抽屉正常显示,后续抽屉显示为黑色的问题及解决方案。
问题:在一个 Vue 页面中使用多个 a-drawer 组件,第一个组件显示正常,后续组件却显示为黑色,内容不可见。如下图所示:

原因及解决方案:
将静态 Vue 页面(index.vue)改造为动态页面(Custom.vue);稿源仅限 index.vue、其引用的 CSS 与资源路径,禁止参考仓库内其他文件。Invoke when user wants to transform a static Vue page into a dynamic data-driven page with Element UI components.
此问题源于在同一 Vue 文件中直接重复使用 a-drawer 组件,可能导致组件间冲突,影响后续组件渲染。a-drawer 组件可能依赖某些全局变量或状态,多次实例化时,这些变量或状态的冲突会导致渲染异常,最终使后续 a-drawer 组件显示为黑色。
解决方法是将 a-drawer 组件封装成独立的 Vue 组件。将 a-drawer 组件及其相关逻辑封装到一个单独的组件中,然后在需要使用 a-drawer 的地方导入并使用这个独立组件。这样可以避免组件间的冲突,确保每个 a-drawer 组件都能正确渲染。每个 a-drawer 组件拥有独立的实例和状态,从而解决渲染问题。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










