热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

微信小程序奇葩的setData,不知道怎么删除数组元素

官方文档像这些代码能理解this.setData({array[0].text:changeddata,});网上说,如果序号是动态的(i、j、
官方文档



//像这些代码能理解
this.setData({
    'array[0].text': 'changed data',
});

//网上说,如果序号是动态的(i、j、k之类的),就是这些代码,虽然不理解,但能工作就ok了。
this.setData({
    ['array[' + i + '].text']: 'changed data',
});

//但是删除数组元素怎么搞?

//1、*******************我是这么干的,原始数组删除元素之后,再整体set回去:
this.data.array.splice(i, 2);
this.setData({
    'array': this.data.array,
});

//总感觉不靠谱啊。第一:鬼知道什么时候超出1024kB啊。
//第二:原始数组set回去,会不会出错。我测试了,似能行,但总觉得会有隐患似的。
//就感觉讨了个二手夫人一样,总怀疑她的子宫到底吸收了多少第一个男人的DNA。唉。

//2、*******************如果是复制一份副本出来,删除元素之后,再整体set回去。
//增加代码量,而且还是没有避免1024kB的梗。

//3、*******************如果是set某个元素为null,好奇葩不说,不知道有没有隐患。
this.setData({
    ‘array[2]’: null,
});

//4、*******************为了1024kB的梗,我想到的是:先清空,再一个个set上去。
//但是这个方法,界面上会闪一下。哎。
this.setData({
    array: [],
});

for(var i in tmp) {
    this.setData({
        ['array[' + i + ']']: tmp[i],
    });
}

3 个解决方案

#1


this.data.list.splice(1,1)
从index为id的位置开始,删除i个元素

#2


this.setData({ list: this.data.list})
删除完再调用一次setData

#3


引用 2 楼 cv521zw 的回复:
this.setData({ list: this.data.list})
删除完再调用一次setData

这个我用过,我也说过:第一,1024kB的梗。第二,不知道小程序setData的原理是怎么样的,用自己set自己会不会有问题....

推荐阅读
  • 微信小程序地图实现展示线路的方法
    这篇文章将为大家详细讲解有关微信小程序地图实现展示线路的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所 ... [详细]
  • 微信小程序API音频-暂停播放是千自学中一篇关于微信小程序的文章简介:wx.pauseVoice(Objectobject)从基础库 1.6.0 开始,本接口停止维护,请使用 wx.createInnerAudioContext 代替暂停正在播放的语 ... [详细]
  • 微信小程序中如何实现轮播图
    这篇文章主要介绍了微信小程序中如何实现轮播图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带 ... [详细]
  • 微信小程序实战之菜谱小程序
    最近突发奇想,想要自己搞个小程序玩儿玩儿,但是鉴于自己是搞后端服务器出身,对于偏前端的微信小程序开发实在是一知半解,尤其是对于css类样式相关,更是无从下手,于是乎,只能从晚上找了 ... [详细]
  • 本文主要介绍关于微信小程序,小程序,今日头条,新闻,前端的知识点,对【仿今日头条实时新闻微信小程序项目源码】和【自己怎么弄微信小程序】有兴趣的朋友可以看下由【叶绿体不忘呼吸】投稿的技术文章,希望该技术 ... [详细]
  • 微信小程序实现简易计算器功能_javascript技巧
    这篇文章主要为大家详细介绍了微信小程序实现简易计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的 ... [详细]
  • 微信小程序实现星级评分与展示
    这篇文章主要为大家详细介绍了微信小程序实现星级评分与展示,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的 ... [详细]
  • 小程序中如何实现弹出菜单功能
    这篇文章给大家分享的是有关小程序中如何实现弹出菜单功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。需求点击 ... [详细]
  • 项目需要实现弹幕,网上参考了各种方法,最后觉得transform+transition实现的效果在移动设备上性能最好,在iphone6和红米4上测试,看不到 ... [详细]
  • 1.有事会出现小程序的页面超出屏幕,导致横向和纵向溢出,这时候在wxss文件中加入overflow:hidden来隐藏溢出屏幕的部分。.container{background:# ... [详细]
  • 微信小程序新手教程wx.request(object) API
    微信小程序新手教程wx.request(object)API,本篇默认已经成功安装微信小程序工具,来和小编一起看看吧wx.request(object)API这里通过干活集中营的A ... [详细]
  • 微信小程序开发如何实现地图功能
    这篇文章主要讲解了“微信小程序开发如何实现地图功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研 ... [详细]
  • 微信小程序Demo导入的示例分析
    小编给大家分享一下微信小程序Demo导入的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有 ... [详细]
  • 微信小程序适合做什么?微信小程序详情介绍
    微信小程序是腾讯新开发的功能,目前备受关注的,还有很多用户不是很了解,不知道这个微信小程序适合什么,因此就让小编给大家讲讲吧。微信小程序详情介绍小程序也有很多功能,如果你按照之前的 ... [详细]
  • 小程序“自定义关键词”功能的常见问答
      我们知道小程序可以通过线下扫码、公众号、好友分享、长按小程序码、搜索小程序名称来找到,现在又多了一个新方式——小程序后台新增自定义关键词功能:已发布小程序的开发者,可提交最多10个与小程序业务相关 ... [详细]
author-avatar
只因为汰假_汰傻_615
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有