前端性能优化

本篇主要讲述element-plus中使用Tooltip单例模式,实现的性能优化。

效果:实现渲染优化3秒-2秒(优化33%)

javascript 复制代码
<template>
  <div>
    <el-button
      v-for="i in 3"
      :key="i"
      @mouseover="(e) => (buttonRef = e.currentTarget)"
      @click="visible = !visible"
      >Click to open tooltip</el-button
    >
  </div>

  <el-tooltip
    ref="tooltipRef"
    :visible="visible"
    :popper-options="{
      modifiers: [
        {
          name: 'computeStyles',
          options: {
            adaptive: false,
            enabled: false,
          },
        },
      ],
    }"
    :virtual-ref="buttonRef"
    virtual-triggering
    popper-class="singleton-tooltip"
  >
    <template #content>
      <span> Some content </span>
    </template>
  </el-tooltip>
</template>

<script setup lang="ts">
import { ref } from 'vue'

const buttonRef = ref()
const tooltipRef = ref()

const visible = ref(false)
</script>

<style>
.singleton-tooltip {
  transition: transform 0.3s var(--el-transition-function-fast-bezier);
}
</style>

以上述代码(element-plus官方代码)为例,此实现的是,在一个button上面增加tooltip文字描述,如果存在很多button时,最原始的操作是,在每个button上面都增加一个tooltip,目前这种实现方式是将tooltip单拎出来,使所有的button只挂在一个tooltip。

在DOM渲染时,就只加载一个tooltip即可,最终用户看到的效果是一致的!

相关推荐
泷羽Sec-静安5 小时前
Less-7 GET-Dump into outfile-String
android·前端·网络·sql·安全·web安全
深入理解GEE云计算5 小时前
遥感生态指数(RSEI):理论发展、方法论争与实践进展
javascript·人工智能·算法·机器学习
IT_陈寒5 小时前
从2秒到200ms:我是如何用JavaScript优化页面加载速度的🚀
前端·人工智能·后端
天天向上10246 小时前
vue 网站导航栏
前端·javascript·vue.js
云外天ノ☼6 小时前
一、Node.js入门实战指南:从零搭建你的第一个后端
前端·javascript·笔记·node.js
未来之窗软件服务6 小时前
未来之窗昭和仙君(四十八)开发商品进销存修仙版——东方仙盟筑基期
前端·仙盟创梦ide·东方仙盟·昭和仙君·东方仙盟架构
安卓开发者6 小时前
第4讲:理解Flutter的灵魂 - “Everything is a Widget”
开发语言·javascript·flutter
风清云淡_A7 小时前
【REACT16】react老项目版本依赖适配问题
前端·react.js
jump6807 小时前
【react】 useEffect
前端
前端小咸鱼一条7 小时前
16.React性能优化SCU
前端·react.js·性能优化