首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >以角度动态形式添加新的键值对

以角度动态形式添加新的键值对
EN

Stack Overflow用户
提问于 2019-02-16 20:35:06
回答 1查看 3.6K关注 0票数 1

我有一个角度动态形式的要求添加键-值对,点击添加button.Both键和值应该是可编辑的。

( a)-键,我们可以从主列表中选择,也可以是一个免费的文本框(如果主列表中没有可用的值,那么应该用textbox替换自动完成)。

b)-值应该是一个文本框。

此外,应该有一个附近的“保存”按钮和“删除”按钮以及上面的字段来提交或删除它。

根据我们项目中当前的实现,'key‘总是硬编码的,'value’在表单组中是可编辑的。

以动态形式添加新的键值对的最佳方法应该是什么?

1-我们是否需要创建一个新的表单组来添加新的行?

2-使用当前的方法并在相同的窗体组中扩展其功能。

任何方法/线索都将受到欢迎。

EN

回答 1

Stack Overflow用户

发布于 2019-02-16 21:12:11

1 .On按钮单击创建创建窗体组的函数,并在父FormGroup中添加到窗体数组

  1. 对于如下的键值
代码语言:javascript
复制
  let r=this.fb.group({mvl:"keey",sec:"val"});
  1. 将您的输入标记为只读,使其不可食用
代码语言:javascript
复制
foo:FormGroup
constructor(public fb:FormBuilder) {
  this.foo=this.fb.group({
      string  :"",
      number:0,
      common1:this.common,
      common2:this.common,
      multi:this.fb.array([])
    });
}

add()
{
  let r=this.fb.group({mvl:"keey",sec:"val"});
  (this.foo.get("multi") as FormArray).push(r);
}

在表单中放置html,如下所示

代码语言:javascript
复制
 <div formArrayName="multi">
            <div *ngFor="let el of multiForm;let i=index" [formGroupName]="i">

                    <input type="text" matInput placeholder="mvl{{i}}" formControlName="mvl">

                    <input type="text" matInput placeholder="sec{{i}}" formControlName="sec">
            </div>
            <div (click)="add()">add</div>
        </div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54727401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档