9***@qq.com
9***@qq.com
  • 发布:2019-09-06 15:21
  • 更新:2019-09-10 11:46
  • 阅读:1150

【报Bug】视图不支持splice(),var list = this.src;list.splice(i,1);打印出来的src已经splice成功,但是显示还是没有变化。

分类:uni-app

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]

重现步骤

[步骤]

[结果]

[期望]

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]

[IDE版本号]

[windows版本号]

[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]

[编译模式是老模板模式还是新的自定义组件模式?]

App运行环境说明

[Android版本号]

[iOS版本号]

[手机型号]

[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

联系方式

[QQ]

2019-09-06 15:21 负责人:无 分享
已邀请:
9***@qq.com

9***@qq.com (作者)

deleteImg(e) {
console.log(e)
const i = e.currentTarget.dataset.index
var list = this.src
list.splice(i,1)
this.setData({
src: list
});
},

9***@qq.com

9***@qq.com (作者)

v-for循环的就是这个src,但是src里面的数据变化后,视图并没有变化,还是spilce之前的视图

9***@qq.com

9***@qq.com (作者)

已解决,对数组进行 Array.from转换

        deleteImg(e) {  
            var index = e.currentTarget.dataset.index;  
            var arr = Array.from(this.src);  
            arr.splice(index, 1);  
            this.setData({  
                src: arr  
            });  
        },
h***@163.com

h***@163.com

我也发现这个问题了,splice之后视图没有响应,只能直接给数组赋值才可以响应。

该问题目前已经被锁定, 无法添加新回复