modal.vue:188 [Vue warn]: Failed to resolve component: el-button

modal.vue:188 [Vue warn]: Failed to resolve component: el-button_第1张图片

今天发现项目中突然报这样一个警告

我用api方式传入一个组件,打开一个modal,el-button在组件里面解析不了  

但我的项目里面引入了element-plus了呀  

-------------------------------------------------------问题解决------------------------------------------------------

modal组件是通过createApp重新创建的一个实例,然后挂载到html某元素上的,故和项目里面的vue实例不是同一个,因而无法解析element-plus组件  

import 'element-plus/dist/index.css'
import ElementPlus from 'element-plus'

modalInstance = createApp({
      render() {
        return h(ModalComponent, {
          closeOnClickModal: false,
          showHeader: true,
          showBtn: true,
          draggable: true,
          ...options,
          onClose: (obj: any) => {
            options?.onClose?.(obj)
            Modal.close()
          },
          onConfirm: (obj: any) => {
            options?.onConfirm?.(obj)
            if (options.defaultClose) {
              Modal.close()
            }
          },
        })
      },
      destroy() {
        modalInstance?.unmount()
        document.body.removeChild(container)
        modalInstance = null
      },
    })

    modalInstance.use(ElementPlus)

    modalInstance.mount(container)

modal.vue:188 [Vue warn]: Failed to resolve component: el-button_第2张图片

你可能感兴趣的:(vue.js,javascript,前端)