当我们在回显数据的时候,后端返回的值可能是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 赋值,否则 赋值[]