<template>
<div :style="{color: fontColor}" :class="['noDataView', iconType]">
<div class="icon">
<icon-svg type="svgIcon_emptyDataClient"></icon-svg>
</div>
</div>
<div class="text">{{explain}}</div>
</template>
<script type="text/ecmascript-6">
/**
*
* noDataView组件
*
*/
export default {
name: 'noData-view',
data() {
return { }
},
computed: {
iconType() {
if(this.type === '1') {
return 'big'
} else {
return 'normal'
}
}
},
props: {
/**
* 样式类型 1:大图标 2:小图标
*/
type: {
type: string,
default: '1'
},
/**
* 默认字体颜色
*/
fontCOlor: {
type: string,
default: '#43484D'
},
/**
* 图片说明
*/
type: {
type: string,
default: '暂无记录'
}
}
}
</script>
<style lang="less" scoped>
.noDataView {
position: absolute;
top: 50%;
left: 50%;
.icon {
font-size: 2.1rem;
height: 2.1rem;
width: 100%;
}
.text {
width: 100%;
text-align: center;
}
}
.big {
height: 2.8rem;
width: 2.1rem;
margin-top: -1.4rem;
margin-left: -1.05rem;
.icon {
font-size: 2.1rem;
height: 2.1rem;
}
.text {
font-size: .2rem;
height: .3rem;
line-height: .3rem;
margin-top: .4rem;
}
}
.normal {
height: 1.4rem;
width: 1rem;
margin-top: -0.7rem;
margin-left: -0.5rem;
.icon {
font-size: 1rem;
height: 1rem;
}
.text {
font-size: .12rem;
height: .2rem;
line-height: .2rem;
margin-top: .3rem;
}
}
</style>

以上代码是组件noData-view组件。具体引用如下:

<div class="nodata-view" v-if="!list.length">
<noData-view type="2" fontCOlor="#979EA7" explain="该列表暂无数据" />
</div>
<script>
import NoDataView from './noData-view';
export default {
data() {
return {
list: []
}
},
components: {
NoDataView
}
}
</script>

Vue 封装的noData组件的更多相关文章

  1. vue封装一些常用组件loading、switch、progress

    vue封装一些常用组件loading.switch.progress github文档https://github.com/zengjielin/vue-component-library loadi ...

  2. Vue 封装的loading组件

    <template> <div class="loadEffect"> <span></span> <span>< ...

  3. echart——vue封装成公共组件

    <!-- 自定义Echarts * options: Object,//数据 * theme: String,//主题 * initOptions: Object,//初始化 * group: ...

  4. 基于Vue封装分页组件

    使用Vue做双向绑定的时候,可能经常会用到分页功能 接下来我们来封装一个分页组件 先定义样式文件 pagination.css ul, li { margin: 0px; padding: 0px;} ...

  5. vue防抖节流函数---组件封装,防止按钮多次点击

    1.vue 封装utils.js /** * @param {function} func 执行函数 * @param {number} time 防抖节流时间 * @param {boolean} ...

  6. Vue + Element-ui实现后台管理系统(4)---封装一个ECharts组件的一点思路

    封装一个ECharts组件的一点思路 有关后台管理系统之前写过三遍博客,看这篇之前最好先看下这三篇博客.另外这里只展示关键部分代码,项目代码放在github上: mall-manage-system ...

  7. vue 封装组件

    props 接收数据 props对象里面 键值 是对改数据的 数据类型 的规定.做了规范,使用者就只能传输指定类型的数据,否则报警告 先根据要求写出完整的代码,再一一用参数实现组件封装 这里试着封装一 ...

  8. echars vue 封装全局组件 曲线 柱状图 同v-chars绿色系 配置样式

    Echars vue封装 ,曲线图 <!DOCTYPE html> <html lang="en"> <head> <meta chars ...

  9. vue封装分页组件

    element提供的分页是已经封装好的组件,在这里再次封装是为了避免每个用到分页的页面点击跳转时都要写一遍跳转请求 分页组件 <!--分页组件--> <template> &l ...

随机推荐

  1. linux下mysql多实例安装

    1.MySQL多实例介绍 1.1.什么是MySQL多实例 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的 ...

  2. httpd-2.4安装配置

    接收请求的类型: 并发访问响应模型: 单进程I/O模型:启动一个进程处理用户请求,这意味着一次只能处理一个请求,多个请求被串行响应: 多进程I/O模型:由父进程并行启动多个子进程,每个子进程响应一个请 ...

  3. get 乱码解决方案

    1.针对Post方式提交的请求如果出现乱码,可以每次在request解析数据时设置编码格式: request.setCharacterEncoding("utf-8"); 也可以使 ...

  4. split根据一个元素分割语句

    a = ‘https://www.baidu.com/s?wd=%E7%AE%80%E4%B9%A6&rsv_spt=1&rsv_iqid=0xdfa3666f00083a6f& ...

  5. 蓝牙协议分析(3)_BLE协议栈介绍

    1. 前言 通过“蓝牙协议分析(2)_协议架构”的介绍,大家对蓝牙协议栈应该有了简单的了解,但是,肯定还有“似懂非懂.欲说还休”的感觉.有这种感觉太正常了,毕竟蓝牙协议是一个历史悠久又比较庞大的协议, ...

  6. 莫烦tensorflow(7)-mnist

    import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data#number 1 to 10 dat ...

  7. Redis配置文件 redis.conf 解读(一)

    # Redis configuration file example# redis配置文件模板# Note on units: when memory size is needed, it is po ...

  8. 自定义textview

    #import <UIKit/UIKit.h> @class FSTextView; typedef void(^FSTextViewHandler)(FSTextView *textVi ...

  9. java实现四则运算应用(基于控制台)

    项目地址:https://gitee.com/wxrqforever/object_oriented_exp1.git 一.需求分析: 一个基于控制台的四则运算系统,要能实现生成并计算含有真,假分数, ...

  10. 学习笔记TF047:PlayGround、TensorBoard

    PlayGround.http://playground.tensorflow.org .教学目的简单神经网络在线演示.实验图形化平台.可视化神经网络训练过程.在浏览器训练神经网络.界面,数据(DAT ...