Tencent / tdesign-miniprogram

A Wechat MiniProgram UI components lib for TDesign.
https://tdesign.tencent.com/miniprogram
MIT License
1.24k stars 280 forks source link

[Upload 上传] originFiles: [] 选择照片后,显示不出来,原因没有内部字段 #3015

Open MLIOFMD opened 4 months ago

MLIOFMD commented 4 months ago

tdesign-miniprogram 版本

当前最新

重现链接

No response

重现步骤

就复制你们上传图片代码,把originFiles初始化的改成originFiles: [],然后运行,选择多张图片,就会显示不了,再次选择,会把之前也显示。包括其他带数组的都有这种问题。

期望结果

No response

实际结果

No response

基础库版本

No response

补充说明

No response

AugTang commented 3 months ago

这个问题怎么解决啊,我也遇到了

MLIOFMD commented 3 months ago

这个问题怎么解决啊,我也遇到了

没解决,我没做过小程序,不是很了解。我看选择一次后,第二次不会出现,所以尝试根据页面初始化周期,onReady时候调用handleSuccess,但是还是不行,如果你有时间,可以尝试一下其他办法。数据我贴上给你参考一下。 `methods: { onLoad: function (options) {

  // var list = this.data.originFiles.splice(0, 1);
  // this.setData({
  //   originFiles:list
  // });

  const tt = [{
    name:"gyx5e2o8s0.jpg",
    percent:0,
    size:46933,
    thumb:'',
    type:"image",
    url:"http://tmp/6uuQ6MUK85yEe036f7fb4eb3b84b2926ae72bfc5892f.jpg"
  },{
    name:"gyx5e2o8s0.jpg",
    percent:0,
    size:46933,
    thumb:'',
    type:"image",
    url:"http://tmp/6uuQ6MUK85yEe036f7fb4eb3b84b2926ae72bfc5892f.jpg"
  }];
  const temp ={
        detail:{
          files:tt
        }
  };
  const index={
    detail : 0
  }
  console.log(temp);
  console.log("初始化的数据");

},
onShow() {
  this.getTabBar().init();
  console.log("onShow");
  console.log(this.data.originFiles);
},

onReady(){
  console.log("onReady");

  //this.handleSuccess(temp);
  //this.handleRemove(index);
},`
zYoungBright commented 2 months ago

去除draggable;降版本;等官方修复;具体原因不清楚,首次上传图片叠一块,猜测是组件内部某个方法没执行成功或者某个参数失效,懒得debug了

danielyangfei commented 1 month ago

同样遇到了这个问题

anlyyao commented 1 month ago

@danielyangfei @MLIOFMD @zYoungBright @AugTang 你们是不是用的 skyline render ?

anlyyao commented 1 month ago

⚠️:Upload 组件暂不支持 skyline,组件依赖的 wxs 事件在 skyline 无法正确响应