代码异常

vue.runtime.esm.js:587 [Vue warn]: Unknown custom element: <search_ui> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

found in

---> <FormRenderHt> at src\components\FormRender\module\form-ht.vue
       <HTUi> at src\components\FormRender\widget\element\HT.vue
         <ElRow>
           <ElForm> at packages/form/src/form.vue
             <FormRender> at src\components\FormRender\module\form.vue
               <FormRender2> at src\components\FormRender\module\form2.vue
                 <ProductEdit> at src\views\ordercreate\product\productInfoEdit.vue
                   <Index> at src\views\ordercreate\main\index.vue
                     <App> at src\App.vue
                       <Root>

原因分析

  • 组件引入方法有问题,不符合vue语法。例如 importcomponents 都需要放入引入的自定义组件。

import FormRenderHt from '@/components/FormRender/module/form-ht'
export default {
  components: { FormRenderHt },
}
  • 组件引入方法无问题,不符合vue机制。

通过对比分析,排除第一种异常情况,聚焦在第二种情况。可能的原因出现在:

  1. 异步引入产生的组件延迟引入,一个同步异步问题。(解决,修改组件引入都为异步)
  2. 组件嵌套太多,vue本身不支持这么多嵌套。(排除,支持多级嵌套)
// FormRenderHt 内部存在异步组件, FormRenderHt的引入也采用懒加载引入
const FormRenderHt = () => import('@/components/FormRender/module/form-ht')
export default {
  components: { FormRenderHt },
}

参考

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐