首页 > 其他分享 >关于项目中遇到的一个loadsh中_.get()方法的一个小问题

关于项目中遇到的一个loadsh中_.get()方法的一个小问题

时间:2023-12-30 14:00:52浏览次数:48  
标签:get value _. loadsh 组件 数据

背景:同事最近找我看一个bug,起因是我们公司产品中心写的公共的列表组件在新增数据保存的时候报错,错误如下

Invalid attempt to spread non-iterable instance(传播不可迭代的无效尝试)

查了下网上说很大可能是因为扩展运算符出错导致的,我也比较倾向于这种解释,但是产品中心这个组件已经用了挺长时间了,之前也没出现过这种问题

所以我猜测是今年项目上做数据库转换导致的问题(ps:今年可能处于业务考虑,公司把之前mongodb+mysql的存储方式改成了全部由关系型数据库(mysql/达梦)来存储业务数据)。于是我跟了下这份组件的代码,我写一下大概得出错部分的逻辑

onAdd(context){ //context是传到组件里的新增列表的一行数据,{id:'123456',name:'zhangsan',...}

let value = _.get(this,"props,value",[]) // -value是当前页面这个列表的数据(在数据保存前,不包括新增数据)

let list = []   //这是想最终的得到的列表数据  主要思路就是当前页面的数据,加上新增的数据,组装完回显到页面,思路简单明了清晰

list = [...value]

list.push(context)

}

然后在这里定位到了问题,value是个null,于是乎扩展运算符报错了  

因为之前没看loadsh里的方法介绍,我是在项目上学到的这种_.get()的用法  所以很疑惑为什么对于没有数据的值_.get()没有返回空数组,然后我就给加了个value对于null值的判断解决了这个问题。

于是乎今天看了下loadsh官网的方法描述,人家写的很清楚

还得学呀!

 

标签:get,value,_.,loadsh,组件,数据
From: https://www.cnblogs.com/-217/p/17936303.html

相关文章

  • PHP 之phpsocket.io简易聊天室
    一、安装composerrequireworkerman/phpsocket.io二、服务端和客户端连接<?phprequire_once'./vendor/autoload.php';useWorkerman\Worker;usePHPSocketIO\SocketIO;$io=newSocketIO(3120);//当有客户端连接时$io->on('connection',function($s......
  • 2023.12.30 日记
    早上跑400m,低血糖。跑完我在操场上呕吐,四肢麻木地瘫在草地。我无力了。脸部传来瘙痒。痒觉移动到了耳梢。它在耳朵旁转了几圈,大抵由于那个洞深不可测,便放弃了,继续在我身上爬行。我感受到飞蝇在我的睫毛上晃动。我伸起手扇它,它没飞走。我也没有伸起手。四肢从冰冷麻木转向......
  • 05uifdma_dbuf 3.0 IP介绍
    软件版本:vitis2021.1(vivado2021.1)操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA登录"米联客"FPGA社区-www.uisrc.com视频课程、答疑解惑!5.1概述        uifdma_dbufIP是米联客研发用于配合FDMA完成数据传输控制的IP模块。FDMA-DBUFIP代码采用"......
  • 在 Django 中使用 Vue.js 组件的步骤如下³⁴: 1. **安装 Vue.js**:首先,你需要在你的开
    在Django中使用Vue.js组件的步骤如下³⁴:1.**安装Vue.js**:首先,你需要在你的开发环境中安装Vue.js³。2.**创建Vue组件**:在Vue.js中,你可以创建一个新的Vue组件。例如,你可以在`src/components`文件夹下新建一个名为`Home.vue`的组件¹。3.**在Django模板中引......
  • IP: dns-lookup : 查询域名的公网IP地址 解决 DNS域名解析绑架的问题例如访问 raw.git
    示例:https://github.com/orgs/community/discussions/42655https://github.com/mwaskom/seaborn-data/blob/2b29313169bf8dfa77d8dc930f7bd3eba559a906/dataset_names.txthttps://www.ip-lookup.org/dns-lookup/raw.githubusercontent.comIPDetailsDomain:Raw.githubuser......
  • Vue 发布 3.4 「灌篮高手」版本
    本文翻译自AnnouncingVue3.4,作者:EvanYou,略有删改。今天我们很高兴地宣布Vue3.4......
  • 02.软件开发流程
    目录 软件软件生命周期软件开发模型软件 软件是与计算机系统操作有关的计算机程序、可能有的文档及数据。软件生命周期 定义问题软件开发软件维护@startumlscale10|定义问题|start:搜集需求;:可行性研究;:需求分析;|软件开发|:概要设......
  • 01.软件测试基础概念
    目录 软件测试软件测试作用软件缺陷软件测试原则软件测试对象测试用例软件测试 通过手工或者工具对“被测对象”进行测试验证实际结果与预期结果之间是否存在差异软件测试作用 通过测试工作可以发现并修复软件当中存在的缺陷,从而提高用户对产......
  • Visio——Mac上可用的项目管理画图工具“Draw.io”
    背景:亮哥画的座位图、安老师夏雪画的流程图、邵工进行的项目进度管理,都是用的Visio,看来想要画个非专业建模图,这是一个很好地工具。  Draw.io因为Visio是微软的软件,只支持Windows系统。所以,要想在Mac上使用Visio,就可以考虑替代品。我自己找了几个,发现Draw.io,可以直接在线使......
  • [Mac软件]App Cleaner & Uninstaller 8.2.5应用程序清理和卸载
    AppCleaner&Uninstaller是一款Mac应用程序,它可以帮助用户完全删除应用程序及其相关的服务文件、扩展文件等。以下是该应用程序的主要功能:完全删除应用程序:通过将应用程序图标拖到垃圾桶中删除程序,可以彻底清除应用程序及其相关文件,释放磁盘空间。删除所有类型的服务文件:除了删除......