首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >搜索Angular2可视化表单编辑器或表单引擎,是否可以通过图形用户界面、生成器或集中配置生成表单?

搜索Angular2可视化表单编辑器或表单引擎,是否可以通过图形用户界面、生成器或集中配置生成表单?
EN

Stack Overflow用户
提问于 2018-02-17 06:32:33
回答 1查看 46关注 0票数 0

我们的开发团队中有几个Angular2<项目。虽然其他开发人员习惯于在我们的Angular 2<项目中直接使用Typescript和HTML标记来编写更大的表单,但我对这种方法并不是很满意。

现在我们正在开始一些新的项目,这些项目需要更大的表单结构,甚至需要条件逻辑,这些项目可能会在未来几年内增长。我猜测直接使用Typescript/Html (即使是拆分组件和服务)来编写它将会导致大量的冗余代码,其中每一次表单更改或扩展都将是未来的麻烦。

有没有支持AngularJS 2的表单的可视化编辑器或表单引擎,允许使用某种图形用户界面、生成器或集中配置来构建复杂的表单结构?

我只想用Angular2<创建复杂的表单结构,而不是毫无意义的编码开销。

EN

回答 1

Stack Overflow用户

发布于 2018-02-17 06:51:07

我最近构建了一个angular应用程序,该表单包含50多个字段。我建议将其拆分成小块,将form实例传递到子组件中。例如,拆分两个主要部分basic informationsocial media创建自己的组件并将其放入自己的组件中,一旦有任何更新(添加或删除),使用@Input@Output()装饰器将它们传递回父组件,父组件将本地和远程更新更改(通过HttpClient)。

代码语言:javascript
复制
 form = this.fb.group({
    basic: this.fb.group({
      name: '',
      description: ''
    }),
    social_media: this.fb.array([
      this.createSocialMedia({ sm_id: 1, sm_name: 'facebook' }),
      this.createSocialMedia({ sm_id: 3, sm_name: 'instagram' }),
    ])
  })

父模板:

代码语言:javascript
复制
 <div>
      <form [formGroup]="form" (ngSubmit)="onSubmit()">
        <app-basic
          [parent]="form">
        </app-basic>
        <app-social-media
          [parent]="form"
          [media]="social_media"
          (added)="addSocialMedia($event)">
        </app-social-media>
     </form>

basic组件模板:

代码语言:javascript
复制
   <div [formGroup]="parent">
      <div formGroupName="basic">
        <input 
          type="text" 
          placeholder="Name"
          formControlName="name">
        <input 
          type="text" 
          placeholder="Description"
          formControlName="description">
      </div>
    </div>

现在,如果您想再添加一个功能,假设您需要做的是将billing: this.fb.group({...//billing details})添加到现有的form中,在父模板中呈现<app-billing></app-billing>,然后构建用于计费的模板。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48835784

复制
相关文章

相似问题

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