在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编程式导航实现页面跳转时不会再出现问题!

相关推荐
猫猫村晨总20 小时前
基于 Vue3 + Canvas + Web Worker 实现高性能图像黑白转换工具的设计与实现
前端·vue3·canvas
上官熊猫1 天前
nuxt3项目打包部署到服务器后配置端口号和开启https
前端·vue3·nuxt3
璇璇吴2 天前
vue3 el-form表格滚动
javascript·vue3·elementplus
伊织code8 天前
[报错] Dify - 踩坑笔记
flask·api·报错·踩坑·dify·poetry·opendal
放逐者-保持本心,方可放逐9 天前
vue2 升级为 vue3+第三方库升级+vue2与vue3混合交互
vue3·vue2·交互·项目升级·第三方库升级
花铛12 天前
《Vue3 八》<script setup> 语法
vue3
想要打 Acm 的小周同学呀12 天前
若依框架--数据字典设计使用和前后端代码分析
java·vue3·数据字典·若依
飞雪金灵14 天前
Vue3(elementPlus) el-table替换/隐藏行箭头,点击整行展开
前端·vue3·element-plus·隐藏table箭头·替换table展开箭头·点击整行展开
xiangxiongfly91515 天前
Vue3 自定义插件(plugin)
vue3·插件·plugin