将两种表单中的数据作为 Angular 中的一个对象发布

2023-12-15

这是我在 Angular 上的第一个项目,我已经尽我所能,我会尝试自己完成它,但我觉得我需要帮助。

项目简介: 我有课mod.ts

export interface Mod {
    id : number ,
    name? : string,
    clauseList? : Clause
    country? : string;
    company? : string;
    process? : string;
}

export interface Clause {
    cName? : string,
    cid? : number,
    // pc : number,
    parentC?  :number,
    id? : number,
    text? : Text
}


export interface Text {
    txt? : string,
    tid? : number
}

这是用户将发送到后端的表单数据的结构,并且值将来自两个不同的表单。 我将这些表单命名为clauseForm 和filterForm。 filterform 是来自 4 个不同数组的单选按钮的集合,clauseForm 是 3 个输入字段。

我分享过一个stackblitz 演示在这里

这是流程,用户从单选按钮中选择值并将它们保存为对象(以供稍后使用),然后用户单击编辑表单并填写字段。一旦用户单击此表单中的“添加”,我们应该会看到一个 div,其中显示在表单的“txt”字段中输入的文本,同时,所有数据都应被推入 FinalPostArray,从中可以将其发送到服务器。这就是我打算这样做的方式,不知道是否有替代方案。 我无法弄清楚如何使用这两种形式将数据作为一个对象发送到服务器。如果您需要更多说明,请帮助或告诉我。

堆栈闪电战已更新。请参考README.txt


如果您想合并两个对象的表单数据,您可以执行以下操作:

finalData = {};

saveClause(form: NgForm) {
   this.show1 = true;
   Object.assign(this.finalData, form.value);
}

addFilter(filter: NgForm) {
   Object.assign(this.finalData, filter.value);
   filter.reset();
} 

现在,根据您的用例,您可以决定何时进行post将此数据发送到后端。


EDIT:

由于您想合并为单个对象,请使用:

finalPostArray = [];
mergedObj = {};

saveClause(form: NgForm) {
   ... 
   Object.assign(this.mergedObj, form.value);
   this.finalPostArray.push(this.mergedObj);
   ... 
}

addFilter(filter: NgForm) {
   Object.assign(this.mergedObj, filter.value);
   filter.reset();
}

工作堆栈闪电战

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将两种表单中的数据作为 Angular 中的一个对象发布 的相关文章

随机推荐

  • C 如何计算 sin() 和其他数学函数?

    我一直在研究 NET 反汇编和 GCC 源代码 但似乎找不到任何实际实现sin 和其他数学函数 它们似乎总是引用其他东西 谁能帮我找到他们吗 我觉得不太可能所有运行C的硬件都支持硬件中的三角函数 所以必须有一个软件算法某处 正确的 我知道有
  • “尽早失败”这句话是什么意思?您想什么时候这样做?

    尽早失败 这个表达是什么意思 在什么情况下这种方法最有用 什么时候你会避免这种方法 本质上 快速失败 又名早早失败 是对您的软件进行编码 以便 当出现问题时 软件会失败立刻 and 明显地如可能的 而不是试图在可能不稳定的状态下继续进行 快
  • 在Python中,如何将数字和字符串转换为字节数组?

    我想将一组配置选项编码为一长串十六进制数字 输入是数字 整数和浮点数 和字符串的混合 我可以用binascii a2b hex从字符串的标准库 整数的按位运算符 如果我去阅读一些关于浮点表示的内容 叹气 我可能也可以处理浮点数 现在 我的问
  • iOS Sprite Kit 碰撞与元素移动

    是否可以使用 Sprite 套件的物理主体进行元素碰撞并仍然允许元素相互穿过 我感兴趣的是仅当两个边界相互碰撞时才调用委托 然后允许它们相互穿过 是的 这是可能的 您可以注册对象之间碰撞的回调 但不会让碰撞影响对象本身 Raywenderl
  • 右键单击 Silverlight 4 应用程序中的列表框

    我正在尝试在 Winforms 应用程序中实现我以前认为理所当然的功能 我是一名 Silverlight 菜鸟 所以希望这一切都是基础知识 我在 Silverlight 4 应用程序中有一个列表框 我想做以下事情 右键单击列表框 让该项目位
  • 为什么 Promise 是 Monad?

    我一直在学习函数式编程 并且接触过 Monad Functor 和 Applicatives 根据我的理解 以下定义适用 a A gt B gt C A gt C B 函子 b A gt C B gt C A gt C B 单子 c C A
  • JQuery关键字“this”没有获取属性值

    我正在使用 JQuery 关键字 this 我遇到了一些我不明白的事情 这是我的代码 a jQuery com a
  • 如何使用 createBottomTabNavigator 对 React Navigation 过渡进行动画处理?

    我花了最后一天的时间试图找出如何使用反应导航实现简单的淡入淡出屏幕转换 但我找不到一种方法让它与底部选项卡导航器一起使用 有人可以帮我吗 我已经广泛阅读了文档 但动画似乎只能通过堆栈导航器使用 你能在这个小吃演示中进行过渡吗 只需创建一个A
  • Python 2.7 和 PyDev - matplotlib 和 NumPy 不起作用

    我正在尝试使用 Python 2 7 和 Eclipse 以及 PyDev 插件让 matplotlib 在 Windows 7 64 位 下工作 我安装了 NumPyhttp www lfd uci edu gohlke pythonli
  • 访问本地类中的隐藏变量

    我是 Java 新手 我对下面的示例感到困惑 public class Test int testOne member method int x 5 class inTest local class in member method voi
  • Python石头剪刀布游戏

    我正在使用Python 我正在尝试编写一个简单的程序来模拟石头 剪刀 布游戏 一切正常 除了当我收到此错误时输入无效响应 石头 布或剪刀以外的其他内容 时 Traceback most recent call last File C Use
  • SpriteKit 游戏中的 AVAudioPlayer 和性能问题

    我在使用 AVAudioPlayer 和在 spritekit 游戏中播放短声音时遇到问题 我有相当动态的游戏场景 当用户点击特定元素时 我想播放简单的 嘟嘟 声音 但我注意到使用 AVAudioPlayer 执行声音会导致严重的性能问题
  • flutter:参数格式不正确

    我是 Flutter 新手 今天我一直遇到一个问题 我无法调试我的应用程序 因为它说参数格式不正确 Parameter format not correct FAILURE Build failed with an exception Wh
  • httpurlconnection线程安全

    HttpUrlConnection 线程安全吗 IE 如果我有一个连接到服务器的 HttpConnection 实例 并且该实例由不同的线程使用 例如尝试同时发送 POST HttpUrlConnection 将如何处理这种情况 a 他们会
  • 如何将表格包裹在链接中?

    哪些元素允许链接 我想要wrap围绕 a 的链接table a href 123 php class grap table border 1 style width 600px height 600px tbody tr td align
  • MongoDB节点检查objectid是否有效

    如何使用 Node 的驱动程序检查 ObjectID 是否有效 我试过 var BSON mongo BSONPure console log Validity BSON ObjectID isValid ddsd 但我不断收到异常 而不是
  • select() 没有响应 /dev/input/mice 上的写入

    我正在编写一个程序来监视select 键盘和鼠标设备文件 它等待这些文件上的任何写入操作 这应该在有击键或鼠标移动时发生 并且一旦有写入操作 就会执行一些作业 但这不起作用 我的代码如下 include
  • 如何在 Xcode 8 中使用 Swift 3 创建 ManagedObjectContext?

    尝试在视图控制器中创建新上下文时 在新的 Xcode 8 使用 Swift 3 iOS 10 中遇到问题 AppDelegate 类型的值没有成员 managementObjectContext let context UIApplicat
  • 如何将 HTML 字符串注入到元素中?

    使用 Mootools 我们可以将一个元素注入另一个元素 childID inject parentID top 第二个参数允许我控制位置 可以是 顶部 或 底部 以将其注入到父对象中 也可以是 之前 或 之后 以将其作为同级对象注入 我们
  • 将两种表单中的数据作为 Angular 中的一个对象发布

    这是我在 Angular 上的第一个项目 我已经尽我所能 我会尝试自己完成它 但我觉得我需要帮助 项目简介 我有课mod ts export interface Mod id number name string clauseList Cl