Vue 封装的noData组件
<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组件的更多相关文章
- vue封装一些常用组件loading、switch、progress
vue封装一些常用组件loading.switch.progress github文档https://github.com/zengjielin/vue-component-library loadi ...
- Vue 封装的loading组件
<template> <div class="loadEffect"> <span></span> <span>< ...
- echart——vue封装成公共组件
<!-- 自定义Echarts * options: Object,//数据 * theme: String,//主题 * initOptions: Object,//初始化 * group: ...
- 基于Vue封装分页组件
使用Vue做双向绑定的时候,可能经常会用到分页功能 接下来我们来封装一个分页组件 先定义样式文件 pagination.css ul, li { margin: 0px; padding: 0px;} ...
- vue防抖节流函数---组件封装,防止按钮多次点击
1.vue 封装utils.js /** * @param {function} func 执行函数 * @param {number} time 防抖节流时间 * @param {boolean} ...
- Vue + Element-ui实现后台管理系统(4)---封装一个ECharts组件的一点思路
封装一个ECharts组件的一点思路 有关后台管理系统之前写过三遍博客,看这篇之前最好先看下这三篇博客.另外这里只展示关键部分代码,项目代码放在github上: mall-manage-system ...
- vue 封装组件
props 接收数据 props对象里面 键值 是对改数据的 数据类型 的规定.做了规范,使用者就只能传输指定类型的数据,否则报警告 先根据要求写出完整的代码,再一一用参数实现组件封装 这里试着封装一 ...
- echars vue 封装全局组件 曲线 柱状图 同v-chars绿色系 配置样式
Echars vue封装 ,曲线图 <!DOCTYPE html> <html lang="en"> <head> <meta chars ...
- vue封装分页组件
element提供的分页是已经封装好的组件,在这里再次封装是为了避免每个用到分页的页面点击跳转时都要写一遍跳转请求 分页组件 <!--分页组件--> <template> &l ...
随机推荐
- javascript 一些特殊的写法
数组+数组: ["f", "o", "o"]+[] 执行结果:"f,o,o" ["f", " ...
- 除了Udacity,全球最聪明的那群人还上哪些网站?
01. ***,与世界相连 WikiWand——打开维基百科的新方式 http://www.wikiwand.com/ InsightfulQuestions(subreddit)——跨越界限的智力讨 ...
- leetcode python 009
##懒得自己做 ## 验证回文数字int0=63435435print(int(str(int0)[::-1])==int)
- centos打开matlab的正确姿势
进入usr/local/MATLAB/R2015b/bin ./matlab
- 弹性布局(Flex布局)整理
一. 弹性布局 一个好的网站都有让用户看上去很舒服的布局,一个网站的布局也会或多或少影响到它的浏览量,看完阮大神的博客,就想把弹性布局整理一下. 在平时的我们常用的布局类型有以下几种: 1.浮动+定 ...
- Jacobi-Anger expansion
[转载请注明出处]http://www.cnblogs.com/mashiqi 2017/06/16 适合于自己的关于Jacobi-Anger expansion的推导方法,这里记下来,方便以后查阅. ...
- AutoHotKey (AHK) 按键表+自定义快捷键简化操作的教程
自定义快捷键简化操作的教程 ① 下载安装AutoHotKey,并用记事本新建一个MyHotKey.ahk文件,录入如②中信息 ② 下图可以实现,按F6即可触发“Ctrl+C”的复制快捷键,同理F7可实 ...
- freeswitch黑名单mod_blacklist使用
freeswitch自带黑名单模块"mod_blacklist",此文只是对该模块简单使用的实例. 最近接到客户投诉有大量骚扰电话,而从源头查不太容易,因此想到的笨方法是将投诉人加 ...
- Unity C#图片转换二进制流、字符串互转
图片转二进制流转换图片互转 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...
- 关于js的对象创建方法(简单工厂模式,构造函数模式,原型模式,混合模式,动态模式)
// 1.工厂方式创建对象:面向对象中的封装函数(内置对象) 简单来说就是封装后的代码,简单的工厂模式是很好理解的,关于它的作用,就是利用面向对象的方法,把一些对象封装,使一些占用空间多的,重复的代码 ...