我会弹出一个dialog 里面是轮播图片,让这个dialog的宽度长度根据图片的变化而变化,让图片百分百的展示出来。由于dialog的高度是自适应的,只要获取图片宽度赋值给dialog就能实现
<el-dialog
append-to-body
:visible.sync="visible"
:width="width">
<img :src="src" @load="onLoad">
</el-dialog>
data() {
return {
src: '',
width: '',
visible: false,
};
},
methods: {
onLoad(e){
const img = e.target;
let width = 0;
if (img.fileSize > 0 || (img.width > 1 && img.height > 1)) {
width = img.width + 40;
}
this.width = width + 'px';
},
}