在vue3中使用datav完整引入时卡在加载页面的解决方法

文件修改

文件:node_modules/@dataview\datav-vue3/package.json

javascript 复制代码
  // "module": "./es/index.js",
  "module": "./es/index.mjs",  // 修改后

使用完整引入,需要为datav配置文件添加相应方法

文件:node_modules/@dataview\datav-vue3/es/index.mjs

javascript 复制代码
// 全局注册方法
// 存在问题,未对setClassPrefix方法处理
// D、E、G...符号代表BorderBox1、BorderBox10、BorderBox11...组件名称
export default {
  install: (app, options) => {
    const components = [
	  D,
	  E,
	  G,
	  I,
	  K,
	  g,
	  C,
	  P,
	  h,
	  k,
	  u,
	  w,
	  z,
	  N,
	  Q,
	  S,
	  U,
	  W,
	  Y,
	  _,
	  oo,
	  eo,
	];
	components.map((component) => {
		app.component(component.name, component);
	});
  }
}

在utils中添加文件datav.js

javascript 复制代码
import * as DataV from '@dataview/datav-vue3';

// 随便写即可
export default function (app) {
  const module = Object.keys(DataV);
  for (const m of module) {
    if (m === 'Loading') continue; // 因为项目饿了么注册过这个组件,就不用datav提供的,跳过本次循环
    app.component(DataV[m].name, DataV[m]);
  }
}

main.js中全局引入修改:

javascript 复制代码
import DataV from '@/utils/datav';
const app = createApp(App)
app.use(DataV);


即可解决!

若出现TypeError: Cannot read properties of null (reading '$el')报错,参考这篇文章的解决方法:

若依vue使用DataV设计大屏报错多是版本问题

报错问题Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node,参考这篇文章的解决方法:

datav+vue3 引用报错,跳转页面报错,DOMException: Failed to execute 'removeChild' on 'Node': The node to be remov

解决上述两种报错以后,使用vue3编程式导航实现页面跳转时不会再出现问题!

相关推荐
Irene199114 小时前
Vuex4:专为 Vue 3 设计,提供完整 TypeScript 支持
vue3·vuex4
无法长大18 小时前
如何判断项目需不需要用、能不能用Tailwind CSS
前端·css·vue.js·elementui·vue3·tailwind css
cui_win2 天前
企业级中后台开源解决方案汇总
开源·vue3·ts
Sapphire~3 天前
Vue3-19 hooks 前端数据和方法的封装
前端·vue3
記億揺晃着的那天3 天前
Vue3 动态路由在生产环境才出现白屏的排查与解决(keep-alive 踩坑实录)
vue3·vue router·动态路由·生产环境报错
kong79069286 天前
Vue3快速入门
前端·vue3
无法长大8 天前
Mac M1 环境下使用 Rust Tauri 将 Vue3 项目打包成 APK 完整指南
android·前端·macos·rust·vue3·tauri·打包apk
淡笑沐白9 天前
Vue3使用ElementPlus实现菜单的无限递归
javascript·vue3·elementplus
Sapphire~9 天前
Vue3-18 生命周期(vue2+vue3)
vue3
Sapphire~9 天前
Vue3-17 父子组件使用props传值
vue3