iview的upload组件 动态赋值default-file-list 不显示

新手上路,请多包涵

我在某个操作赋值 (点击编辑 会出个一个弹窗 然后显示图片)
this.defaultList = [
{

  name:'a42bdcc1178e62b46',
  url:`${baseUrl}${params.row.v_icon}`,

}
]
界面并不显示图片
但是我在控制台打印this.$refs.upload

clipboard.png

可以看到它的的fileList 是有值的

但是我单独打印 console.log(this.$refs.upload.fileList) 就是空的

clipboard.png

阅读 11.6k
4 个回答
新手上路,请多包涵
setTimeout(() => {
    this.defaultList = this.picDefaulList;
    this.$nextTick(() => {
        this.uploadList = this.$refs.upload.fileList;
    });
}, 1000);
新手上路,请多包涵

刚刚遇到一个同样的问题,找到一种解决方案,通过父组件向子组件的props传值,然后就可以显示了。

新手上路,请多包涵

有人说可以直接去操作uploadList,default获取不到,比如这样

this.uploadList.push({
  name: ...,
  url: ...,
  showProgress: false,
  status: "finished"
});
新手上路,请多包涵

动态复制完之后,需要nextTick的回调中取最新的数据

this.$nextTick(() => {
        // 这样打印出来就会有值了
        console.log(this.$refs.upload.fileList) 
    });
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏