You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Angular 8中动态替换对象键名——将factORLossTree重命名为savefactORLossTree

如何将请求载荷中的factORLossTree重命名为savefactORLossTree?

你可以通过两种简单直观的方式在TypeScript中实现对象属性的重命名,以下是适配你现有代码的具体修改方案:

方法一:解构赋值+扩展运算符(不修改原对象)

这种方式会生成一个全新的对象,保留原formData的其他属性,同时完成属性重命名,适合需要保留原对象结构的场景:

saveOrUpdateORData() {
  const formData = Object.assign({}, this.orLosstreeForm.value);
  if (formData.factORLossTree.length === 0) {
    this.dialogService.openDialog('Data Not Available');
    return false;
  }
  
  // 解构原属性并重新命名,同时提取剩余所有属性
  const { factORLossTree: savefactORLossTree, ...restProps } = formData;
  // 组合成目标结构的新对象
  const transformedPayload = { ...restProps, savefactORLossTree };
  
  console.log(transformedPayload, "transformed payload");
  // 后续提交请求时使用 transformedPayload 即可
  return;
}

方法二:直接修改原对象(简单高效)

如果你不需要保留原formData的原始结构,可以直接操作对象添加新属性、删除旧属性,步骤更简洁:

saveOrUpdateORData() {
  const formData = Object.assign({}, this.orLosstreeForm.value);
  if (formData.factORLossTree.length === 0) {
    this.dialogService.openDialog('Data Not Available');
    return false;
  }
  
  // 将旧属性的值赋给新属性
  formData.savefactORLossTree = formData.factORLossTree;
  // 删除旧属性
  delete formData.factORLossTree;
  
  console.log(formData, "updated formdata");
  // 此时 formData 就是你需要的请求载荷结构
  return;
}

两种方法都能生成你期望的请求载荷格式,你可以根据自己的代码场景选择合适的方案。

内容的提问来源于stack exchange,提问作者Pravesh Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 17:32:37