el-dialog中放置img图片不能实时刷新的问题

今天在做页面的时候发现一个问题,我在el-dialog中放置了一个<img>标签,并绑定了一个变量,然而在弹窗中直接给src赋值的时候图片不能直接显示出来,需要关闭在开启弹窗才会出现。解决办法就是加上this.$forceUpdate();强制更新视图。源码以后在研究。写个小例子。

template

<template>
    <el-dialog>
        <img :src="pic"/>
    </el-dialog>
</template>


vue

data(){
    return{
        pic: ''
    }
},
methods: {
    test() {
        //用的是base64编码格式 直接加载图片
        this.pic = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0 DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=='
        //强制刷新
        this.$forceUpdate();
    },
}

猜你喜欢

转载自blog.csdn.net/qq_40702130/article/details/107814257