react vue开发赋值小技巧-短路

本文介绍了一种使用短路逻辑优化代码的方法,特别是在处理后端返回可能为null或undefined的数据时,使代码更简洁。示例中展示了如何在设置表单字段值时,确保即使数据为空也能够正确赋值,提高代码可读性。
摘要由CSDN通过智能技术生成

当我们在回显数据的时候,后端返回的值可能是null undefined 或者"(js 6个为false 的值);这时采用下面的写法,巧妙用短路逻辑, 让代码看起来更简洁。
含义为:如果有值 即 赋值;无值 即 赋值为[]

  form.setFieldsValue({
                        'Title': data.Title,
                        'TitleCN': data.TitleCN,
                        'ApprovalManager': data.ApprovalManager,
                        'ApprovalRequired': data.ApprovalRequired,
                        'CPDHours': data.CPDHours,
                        'CancelApply': data.CancelApply,
                        'Category': data.Category,
                        'ClassAmount': data.ClassAmount,
                        'ContentContactorEmail': data.ContentContactorName ? `${data.ContentContactorName}(${data.ContentContactorEmail})` : null,
                        'ContentContactorName': data.ContentContactorName ? data.ContentContactorName : null,
                        'LogisticsContactorEmail': data.LogisticsContactorName ? `${data.LogisticsContactorName}(${data.LogisticsContactorEmail})` : null,
                        'LogisticsContactorName': data.LogisticsContactorName ? data.LogisticsContactorName : null,
                        'CourseCode': data.CourseCode,
                        'CourseLink': data.CourseLink,
                        'Description': data.Description,
                        'DescriptionCN': data.DescriptionCN,
                        'RoomSetting': data.RoomSetting,
                        'DayReminder': data.DayReminder,
                        'TargetDays': data.TargetDays,
                        'RoomRemark': data.RoomRemark,
                        'EquipmentRequest': data.EquipmentRequest || [],
                        'FacilityRequest': data.FacilityRequest || [],
                        'StartDate': moment(data.StartDate, 'YYYY-MM-DD'),
                        'EndDate': moment(data.EndDate, 'YYYY-MM-DD'),
                        // 'FacilityRequest':data.FacilityRequest,
                        'FunctionOrganizer': data.FunctionOrganizer,
                        'LearnHours': data.LearnHours,
                        'PreworkRequired': data.PreworkRequired,
                        'InPerson': data.InPerson,
                        'ProgramManager': data.ProgramManager,
                        'SubCategory': data.SubCategory,
                        'SubTitle': data.SubTitle,
                        'WBSCode': data.WBSCode,
                        'TimesheetCode': data.TimesheetCode,
                        'AllowDrop': String(data.AllowDrop),
                        'TargetDept': data.TargetDept || [],
                        'TargetFunction': data.TargetFunction || [],
                        'TargetLevel': data.TargetLevel || [],
                        'TargetNonManDept': data.TargetNonManDept || [],
                        'TargetNonManFunction': data.TargetNonManFunction || [],
                        'TargetNonManLevel': data.TargetNonManLevel || [],
                        // TODO:回显设置!!!
                        TargetStaffLevel:data.TargetStaffLevel||[]
                    })
写法2:可读性高一点点, 但不好看
 'TargetNonManLevel': data.TargetNonManLevel?data.TargetNonManLevel: [],

data.TargetNonManLevel中有值吗? 为true吗? true 赋值,否则 赋值[]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值