欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > Skeleton 骨架屏

Skeleton 骨架屏

2025/4/19 8:36:20 来源:https://blog.csdn.net/weixin_35773751/article/details/145266709  浏览:    关键词:Skeleton 骨架屏

文章目录

    • 前言
    • 步骤
      • 1. 了解基本结构
      • 2. 包裹结构
      • 3. 使用loading变量控制好显示和隐藏就好。
    • 效果

前言

在需要等待加载内容的位置设置一个骨架屏,某些场景下比 Loading 的视觉效果更好。

步骤

1. 了解基本结构

使用Skeleton前要了解基本使用元素。

  • 外层标签“el-skeleton”
  • <template #template>
  • <el-skeleton-item>
  • 实际的展示层

2. 包裹结构

<template><el-skeleton :loading="loading" animated style="width: 240px"><!-- 骨架屏的控制 --><template #template><el-skeleton-item variant="image" style="width: 240px; height: 240px" /><div style="padding: 14px"><el-skeleton-item variant="h3" style="width: 50%" /></div></template><!-- 真正渲染的DOM --><div class="model-items">……</div></el-skeleton>
</template>

3. 使用loading变量控制好显示和隐藏就好。

补充:大部分人会遇到这种报错

‘v-slot’ directive must be owned by a custom element, but ‘template’ is not. eslint(vue/valid-v-slot)
[vue/valid-v-slot] ‘v-slot’ directive must be owned by a custom element, but ‘template’ is not. eslint-plugin-vue

原因:报错原因是 <template #default> 使用了 v-slot 指令,但 template 标签本身不是自定义元素。根据 Vue 的规范,v-slot 必须绑定在自定义组件上,而不能直接用在普通的 template 标签上。

解决办法:直接移除真正渲染的DOM上的#default

效果

由于自己的网站涉及到客户私密,所以就用demo图片展示一下
在这里插入图片描述
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词