• vue-loading图


    父组件给子组件src地址;

     columns(){
         return [
             {'title': '图片', 'key': 'img', render(h, {row}){
                 return h(LoadingImg, {
                     props: {//把这些传给子组件
                         'w': 80,
                         'h': 45,
                         'src': 'http://192.168.2.233/carimages_small/' + row.id + '/view/' + row.img
                     }
                 });
             }},
             {'title': '编号', 'key': 'id'},
             {'title': '品牌', 'key': 'brand'},
             {'title': '车系', 'key': 'series'},
             {'title': '颜色', 'key': 'color'},
             {'title': '售价', 'key': 'price'},
             {'title': '环保', 'key': 'exhaust'},
             {'title': '发动机', 'key': 'engine'},
             {'title': '燃料', 'key': 'fuel'}
         ];
     }

    子组件

    props: ['w', 'h', 'src'],
        methods: {
            change(){
                // 显示菊花
                this.isShowPin = true;
                // 创建一个虚拟图片
                var img = new Image();
                // 设置src
                img.src = this.src;
                // 监听load
                img.onload = () => {
                    // 加载完毕之后替了
                    this.picurl = this.src;
                    // 隐藏菊花
                    this.isShowPin = false;
                }
            }
        },
    //创建前直接显示
    created(){
        this.change();
    },
     //改变后重新加载loading
     watch:{
          src(){
             this.change()
          }
    }

    loading

    <template>
        <div style="position:relative;" :style="{'width': w + 'px', 'height': h + 'px'}">
            <img :style="{'width': w + 'px', 'height': h + 'px'}" :src="picurl" >
            <Spin fix v-show="isShowPin">
                <Icon type="ios-loading" size=18 class="demo-spin-icon-load"></Icon>
            </Spin>
        </div>
    </template>
    
    <script>
        export default {
            props: ['w', 'h', 'src'],
            data(){
                return {
                    picurl: '',
                    isShowPin: false
                };
            },
            methods: {
                change(){
                    // 显示菊花
                    this.isShowPin = true;
                    // 创建一个虚拟图片
                    var img = new Image();
                    // 设置src
                    img.src = this.src;
                    // 监听load
                    img.onload = () => {
                        // 加载完毕之后替了
                        this.picurl = this.src;
                        // 隐藏菊花
                        this.isShowPin = false;
                    }
                }
            },
            created(){
                this.change();
            },
            watch:{
                src(){
                    this.change()
                }
            }
        }
    </script>
    
    <style>
        .demo-spin-icon-load{
            animation: ani-demo-spin 1s linear infinite;
        }
        @keyframes ani-demo-spin {
            from { transform: rotate(0deg);}
            50%  { transform: rotate(180deg);}
            to   { transform: rotate(360deg);}
        }
        .demo-spin-col{
            height: 100px;
            position: relative;
            border: 1px solid #eee;
        }
    </style>

    喜欢的小伙伴可以关注我的微信公众号“前端伪大叔”

  • 相关阅读:
    Linux 命令查找文件中某个字段所存在的位置
    PHP in_array() 函数
    php一维数组如何追加到二维数组
    电脑切换窗口
    微擎前端逻辑判断的时弹框
    JDBC批量处理
    数据库事务
    处理BLOB
    JDBC自动生成主键值
    JDBC的元数据
  • 原文地址:https://www.cnblogs.com/qdwds/p/11706988.html
Copyright © 2020-2023  润新知