当前位置: 首页 > news >正文

【前端】记录各种控制台警告/bug

一、Element Plus

1、控制台警告:“Runtime directive used on component with non-element root node. The directives will not function as intended.”

在这里插入图片描述

错误原因:在 Vue 组件上使用了运行时指令(指那些在运行时动态绑定到 DOM 元素上的指令),但是该组件的根节点不是一个标准的 DOM 元素(例如 div 或 span)

原因:自定义指令不能放到组件上,而是要放到自有的元素上。

解决方法
1.找到报警告的位置, 确认组件的根节点是否为一个有效的 DOM 元素
2.运行时指令:v-loading、v-show、v-if…
3.如下图示例:el-dialog上不能使用自定义指令v-loading

Element UI 和 Element Plus 中的 el-dialog组件本身是一个封装好的组件,它有自己的内部结构和生命周期。当你尝试在 el-dialog 上使用 v-loading指令时,可能会遇到一些问题,主要是因为 v-loading 指令期望的是一个标准的 DOM 元素,而 el-dialog的根节点可能不是这样的元素。

确认组件的根节点是否为一个有效的 DOM 元素

2、Ignored: ResizeObserver loop limit exceeded

element-plus 使用el-table 在切换tab栏时报错:
在这里插入图片描述
原因:ResizeObserver不能处理所有的observations导致报错;

解决方法:
1.阻止table的重绘,给每个<el-table-column>设置固定的width,缺点是无法自适应宽度。
2.给每个<el-table-column>设置min-width
3.添加debounce()防抖方法,在App.vue文件中添加:

  const debounce = (fn, delay) => {let timer = null;return function () {let context = this;let args = arguments;clearTimeout(timer);timer = setTimeout(function () {fn.apply(context, args);}, delay);}
}const _ResizeObserver = window.ResizeObserver;
window.ResizeObserver = class ResizeObserver extends _ResizeObserver{constructor(callback) {callback = debounce(callback, 16);super(callback);}
}

4.给回调进行节流,在App.vue中添加以下代码:

// 解决 ElTable 自动宽度导致的「ResizeObserver loop limit exceeded」问题
const fixElTableErr = (table) => {const oldResizeListener = table.methods.resizeListener;table.methods.resizeListener = function () {window.requestAnimationFrame(oldResizeListener.bind(this));};
};
// 在Vue.use之前执行此函数
fixElTableErr(Table);

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • yolo中的iou是什么意思
  • 力扣高频SQL 50题(基础版)第四十题之1164. 指定日期的产品价格
  • mysql事务与索引
  • 浅谈 Spring AOP框架 (2)——Spring统一功能处理
  • 24.8.5数据结构|栈
  • vscode ssh-remote 疑似内存泄漏问题
  • 两轮电动车行业竞争激烈,九号公司如何破局
  • uniapp点击图片预览,关闭预览图片后自动触发onshow生命周期,怎么解决?
  • Windows 环境使用 Docker 安装 ES Kibana 8.12.2 及analysis-ik插件
  • 【黑马】MyBatis
  • pythonUI自动化008::allure测试报告(安装及应用)
  • sed命令笔记
  • 基于SpringBoot+Vue校园失物招领系统的设计与实现
  • 【将Python程序打包成一个可执行文件】
  • Spring Data JPA 自动创建时间的相关注解和用法
  • 2018一半小结一波
  • 5、React组件事件详解
  •  D - 粉碎叛乱F - 其他起义
  • Docker下部署自己的LNMP工作环境
  • EventListener原理
  • export和import的用法总结
  • JS+CSS实现数字滚动
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • magento 货币换算
  • python 装饰器(一)
  • 大数据与云计算学习:数据分析(二)
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 开发基于以太坊智能合约的DApp
  • 想写好前端,先练好内功
  • 小程序 setData 学问多
  • 用Canvas画一棵二叉树
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • ​​​​​​​​​​​​​​Γ函数
  • ​ArcGIS Pro 如何批量删除字段
  • #java学习笔记(面向对象)----(未完结)
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (02)Unity使用在线AI大模型(调用Python)
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (分布式缓存)Redis分片集群
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (四)进入MySQL 【事务】
  • (一)、软硬件全开源智能手表,与手机互联,标配多表盘,功能丰富(ZSWatch-Zephyr)
  • (译) 函数式 JS #1:简介
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (转)大型网站的系统架构
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国
  • .so文件(linux系统)
  • [\u4e00-\u9fa5] //匹配中文字符
  • [023-2].第2节:SpringBoot中接收参数相关注解
  • [Android]Android P(9) WIFI学习笔记 - 扫描 (1)
  • [AX]AX2012 SSRS报表Drill through action