upload 怎么动态upload.render()

讨论 已结 26 6541
往事随风丶
悬赏:20飞吻
因为需要不同的尺寸,所以upload传参数是动态的,所以需要不同的参数,改变一次然后upload.render(),控件就不起作用了,是不是需要销毁然后upload.render(),具体不太清楚,有做过知道的么?
回帖
  • 这个是目前upload的一个bug,重复render一个节点的时候会出现可以弹出文件选择但是选完之后没有进入change回调也没有最终上传的问题。

    红色框框的代码原先是在箭头的位置的,要提到外面来,而且为了保险起见,要先off一下再on像绿色框一样,虽然不off貌似估计也不会出问题,试试看。
    0 回复
  • @HuGa upload这个模块已经许久版本没更了,如果没有找到一般就是你在压缩混淆过的代码上找,要下源码版的修改比较容易找,容易读
    1 回复
  • doyo
    2018-8-18
    同样遇到这个问题,但是没有看明白这个解决方案啊
    0 回复
  • doyo
    2018-8-18
    @岁月小偷 同样遇到这个问题,但是没有看明白这个解决方案啊
    0 回复
  • @doyo 这个是出现在upload render的时候如果这个节点已经render过了,那么upload会把之前生成的file组件给干掉然后重新new一个出来,但是关键的问题是layui会给render过的节点添加一个已经添加了事件的属性,然后如果有事件了就不重新绑定,但是对于一个新增加的节点不加事件就不应该了,所以把给文件选择的事件放到外面去了。
    0 回复
  • 谢谢,这个看过就改了,不过有点不太一样,稍微改下就可以了。
    0 回复
  • @岁月小偷 你好 你说这个改法是哪个版本的?我这边现在是layui-v2.4.3 没找到你这段代码[泪] 想问下怎么改 谢谢
    0 回复
  • @周三不加班 一样有的,你的估计是在混淆压缩的版本上找,不建议直接在上面改,你在src的源码下修改然后重新打包一下就好,也可以直接在上面修改,可以通过关键词去找,haveEvents这个关键词,然后参照着源码的代码理解的基础上进行修改,而且里面变量会被替换,所以要比较小心
    0 回复
  • @岁月小偷 嗯嗯 我刚才找到了 感谢[赞]
    0 回复
  • @周三不加班 不客气[微笑]
    0 回复