zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    Apache虚拟主机(VirtualHost)配置
    LAMP源码安装
    SUSE上配置SAMBA服务
    Linux下安装或升级Python 2.7
    HTML5,CSS3,JS绘制饼图
    Single Number
    Reverse Words in a String
    C++控制台日历
    百度JS破盗链
    腾讯前端突击队Ⅱ
  • 原文地址:https://www.cnblogs.com/minozMin/p/9798084.html
Copyright © 2011-2022 走看看