使用Vue封装暂无数据占位图组件
1. 前言
在日常开发中,页面上肯定有展示数据的需求,但是当某些时候该展示数据的地方此时数据为空时,就会留下一片空白,对用户体验不是很好,那么接下来我们就封装一个空数据时的占位展示图,告诉用户此时用户为空,并非数据没有加载出来,不用让用户盲目的等待。
2. 使用示例
该组件可以直接引入到项目中使用,示例如下:
<template>
<div id="app">
<div v-if="content.length"></div>
<Empty v-else></Empty>
</div>
</div>
</template>
<script>
import Empty from './Empty'
export default {
name: 'app',
components: { Empty},
data() {
return {
content:[]
}
}
}
</script>
在上面代码中,假设你需要展示的内容是content,那么你就可以判断当内容有值时展示内容,当内容为空时展示空数据时的占位展示图。效果如下:

3. 组件可选属性
该组件除了可以直接使用外,还提供过了一些可选属性供个性化配置,提供可选属性如下:
| 属性名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| description | 自定义描述内容 | String | 否 | 暂无数据 |
| image | 自定义显示图片的路径 | String | 否 | 默认图片 |
| imageStyle | 自定义显示图片的样式 | Object | 否 | - |
组件提供了3个可选属性,你可以这样去使用它们:
自定义描述内容
<Empty description="我是自定义内容"></Empty>

显示自定义图片
<Empty description="显示网络图片" image="https://www.baidu.com/img/bd_logo1.png"></Empty>

<Empty description="显示项目资源图片" :image="require('@/assets/images/warn.png')"></Empty>

- 自定义显示图片样式
<template>
<Empty
description="显示网络图片"
image="https://www.baidu.com/img/bd_logo1.png"
:imageStyle="imageStyle">
</Empty>
</template>
<script>
data() {
return {
imageStyle:{
width:'10px'
}
}
</script>
4. 组件代码
完整代码请戳☞Vue-Components-Library/Empty
(完)
使用Vue封装暂无数据占位图组件的更多相关文章
- 孟老板 BaseAdapter封装 (三) 空数据占位图
BaseAdapter封装(一) 简单封装 BaseAdapter封装(二) Header,footer BaseAdapter封装(三) 空数据占位图 BaseAdapter封装(四) PageHe ...
- vue2自定义指令-加载指令v-loading和占位图指令v-showimg
了解自定义指令的钩子函数 bind(){}:每当指令绑定到元素上的时候,就会立刻执行bind这个函数.只调用一次. 和css相关的操作,可以放在这个钩子函数中. inserted(){}:元素插入到D ...
- 零行代码为App添加异常加载占位图
前文提要 近期准备重构项目,需要重写一些通用模块,正巧需要设置App异常加载占位图的问题,心血来潮设想是否可以零行代码解决此问题,特在此分享实现思路. 思路分享 对于App占位图,通常需要考虑的控件有 ...
- iOS开发——无网占位图的实现
https://www.jianshu.com/p/d537393fe247 https://github.com/wyzxc/CQPlaceholderViewhttps://github.com/ ...
- 零行代码为 App 添加异常加载占位图
前文提要 近期准备重构项目,需要重写一些通用模块,正巧需要设置App异常加载占位图的问题,心血来潮设想是否可以零行代码解决此问题,特在此分享实现思路. 思路分享 对于App占位图,通常需要考虑的控件有 ...
- 浅析vue封装自定义插件
在使用vue的过程中,经常会用到Vue.use,但是大部分对它一知半解,不了解在调用的时候具体做了什么,因此,本文简要概述下在vue中,如何封装自定义插件. 在开始之前,先补充一句,其实利用vue封装 ...
- [iOS]一行代码集成空白页面占位图(基于runtime+MJRefresh思想)
2018年01月03日阅读 2472 [iOS]一行代码集成空白页面占位图(基于runtime+MJRefresh思想) LYEmptyView 此框架是本人在5,6个月前,公司启动新项目的时候, ...
- iOS开发造轮子 | 通用占位图
https://www.jianshu.com/p/beca3ac24031 实际运用场景: 没网时的提示view,tableView或collectionView没内容时的展示view,以及其它特殊 ...
- vue 封装组件
props 接收数据 props对象里面 键值 是对改数据的 数据类型 的规定.做了规范,使用者就只能传输指定类型的数据,否则报警告 先根据要求写出完整的代码,再一一用参数实现组件封装 这里试着封装一 ...
随机推荐
- 基于TCP协议的socket套接字编程
目录 一.什么是Scoket 二.套接字发展史及分类 2.1 基于文件类型的套接字家族 2.2 基于网络类型的套接字家族 三.套接字工作流程 3.1 服务端套接字函数 3.2 客户端套接字函数 3.3 ...
- node 下载 md5.js
命令:npm install js-md5
- VMware下扩展Ubuntu根分区大小
一.查看磁盘信息 使用df命令用来查看文件系统的磁盘空间占用情况,由下可知我的/dev/sda1分区是挂载在根目录下的,本文目标就是来扩容/dev/sda1分区. 二.下载Gparted工具 Gpar ...
- 12-UA池和代理池
一.UA池和代理池 1.UA池 scrapy的下载中间件: 下载中间件(Downloader Middlewares) 位于s ...
- 创 PHP RSA2 签名算法
什么是RSA2 ? RSA2 是在原来SHA1WithRSA签名算法的基础上,新增了支持SHA256WithRSA的签名算法. 该算法比SHA1WithRSA有更强的安全能力. 为了您的应用安 ...
- java.lang.ClassNotFoundException: XXX (no security manager: RMI class loader disabled)
在搞RMI远程发布,consumer去获取rmi远程服务的代理对象的时候出现了如下的错误 问题发现: 由于我发布的对象的包路径和获取的对象的包路径不一致,导致了这样的问题 解决方案: 包路径改为一致就 ...
- Python爬虫反反爬:CSS反爬加密彻底破解!
刚开始搞爬虫的时候听到有人说爬虫是一场攻坚战,听的时候也没感觉到特别,但是经过了一段时间的练习之后,深以为然,每个网站不一样,每次爬取都是重新开始,所以,爬之前谁都不敢说会有什么结果. 前两天,应几个 ...
- Flask笔记:上下文
线程隔离Thread Local: 如果一个对象具有线程隔离的特性,就可以称之为“Thread Local”,线程隔离是指该对象在不同的线程中都是独立的,在一个线程中对该对象的操作不会影响另一个线程对 ...
- ICMP重定向 Redirect netwox libpcap netwag
搭建环境 两台虚拟机. 攻击者:192.168.1.8 被攻击者:192.168.1.9 网络配置 主机均采用DHCP 如果没有路由器,可以使用NAT模式来做 攻击者配置 打开转发数据包功能 # su ...
- 微信小程序动画之弹出菜单
用微信小程序做了一个动画,效果如上图: 代码: js: Page({ data: { isPopping: false, animPlus: {}, animCollect: {}, animTran ...