微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用formly在没有formControl的情况下创建自定义模板?

如何解决如何使用formly在没有formControl的情况下创建自定义模板?

有人知道如何使用 ngx-formly 在没有 formControl 的情况下创建简单的自定义模板的更好方法吗?

您可以在 example 中看到的一种方法

在这个例子中实现了:

  • 使用自定义组件创建自定义类型;
  • 配置字段;
  • 隐藏提交按钮(模板中不需要)。
1. app.module.ts

import { NgModule } from '@angular/core';
import { browserModule } from '@angular/platform-browser';
import { ReactiveFormsModule } from '@angular/forms';
import { FormlyModule } from '@ngx-formly/core';
import { FormlyBootstrapModule } from '@ngx-formly/bootstrap';
import { AppComponent } from './app.component';
import { CustomComponent } from './custom.component';

@NgModule({
  imports: [
    browserModule,ReactiveFormsModule,FormlyBootstrapModule,FormlyModule.forRoot({
      types: [
        { name: 'custom',component: CustomComponent }
      ]
    }),],bootstrap: [AppComponent],declarations: [
    AppComponent,CustomComponent
  ],})
export class AppModule {} 

2. app.component

import { Component } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { FormlyFormOptions,FormlyFieldConfig } from '@ngx-formly/core';

@Component({
  selector: 'formly-app-example',template: '<form [formGroup]="form" (ngSubmit)="submit()">
             <formly-form [model]="model" [fields]="fields" [options]="options" [form]="form"></formly-form>
             <button *ngIf="fields[0].type !== 'custom'" type="submit" class="btn btn-primary submit-button">Submit</button>
             </form>',})

export class AppComponent {
  form = new FormGroup({});
  model: any = {};
  options: FormlyFormOptions = {};

  fields: FormlyFieldConfig[] = [
    {
      type: 'custom',templateOptions: {
        label: 'Title',description: 'Custom description',}
    }
  ];

  submit() {
    if (this.form.valid) {
      alert(JSON.stringify(this.model));
    }
  }
}

3. custom.component.ts

import { FieldType } from '@ngx-formly/core';

@Component({
  selector: 'custom',template: '<p>{{to.label}}</p>
    <p>{{to.description}}</p>'
})
export class CustomComponent extends FieldType {}

感谢您的帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?