UNPKG

ng-ytl-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

90 lines (80 loc) 2.6 kB
import { Component, OnInit } from '@angular/core'; import { FormBuilder, FormGroup, FormControl } from '@angular/forms'; @Component({ selector: 'nz-demo-form-advanced', template: ` <form nz-form [formGroup]="validateForm" class="ant-advanced-search-form"> <div nz-row [nzGutter]="40"> <div nz-col [nzSpan]="8" *ngFor="let control of controlArray" [style.display]="control.show?'block':'none'"> <div nz-form-item nz-row> <div nz-form-label nz-col [nzSpan]="5"> <label [attr.for]="'field'+control.index">Field {{control.index}}</label> </div> <div nz-form-control nz-col [nzSpan]="19"> <nz-input [nzSize]="'large'" [nzPlaceHolder]="'placeholder'" [formControlName]="'field'+control.index" [nzId]="'field'+control.index"></nz-input> </div> </div> </div> </div> <div nz-row> <div nz-col [nzSpan]="24" style="text-align: right;"> <button nz-button [nzType]="'primary'">Search</button> <button nz-button (click)="resetForm()">Clear</button> <a style="margin-left:8px;font-size:12px;" (click)="toggleCollapse()"> Collapse <i class="anticon" [class.anticon-down]="isCollapse" [class.anticon-up]="!isCollapse"></i> </a> </div> </div> </form> <div class="search-result-list"> Search Result List </div> `, styles: [ ` .ant-advanced-search-form { padding: 24px; background: #fbfbfb; border: 1px solid #d9d9d9; border-radius: 6px; } .search-result-list { margin-top: 16px; border: 1px dashed #e9e9e9; border-radius: 6px; background-color: #fafafa; min-height: 200px; text-align: center; padding-top: 80px; } ` ] }) export class NzDemoFormAdvancedComponent implements OnInit { validateForm: FormGroup; controlArray = []; isCollapse = true; toggleCollapse() { this.isCollapse = !this.isCollapse; this.controlArray.forEach((c, index) => { c.show = this.isCollapse ? (index < 6) : true; }) } resetForm() { this.validateForm.reset(); } constructor(private fb: FormBuilder) { } ngOnInit() { this.validateForm = this.fb.group({}); for (let i = 0; i < 10; i++) { this.controlArray.push({ index: i, show: i < 6 }); this.validateForm.addControl(`field${i}`, new FormControl()); } } }