标签:span 直接 改变 price animation tran series pos nim
父组件给子组件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>
喜欢的小伙伴可以关注我的微信公众号“前端伪大叔”

标签:span 直接 改变 price animation tran series pos nim
原文地址:https://www.cnblogs.com/qdwds/p/11706988.html