首页 文章

模板驱动形式的角度材料Mat-Chip验证

提问于
浏览
-1

我使用Angular 6和Angular Material 6.我想要mat-chip字段 . 当我输入mat-chip字段时,将启用保存按钮,否则将被禁用 . 输入字段是必需的,但不能要求mat-chip字段 . 请帮我找到解决方案 . 谢谢 .

我的示例代码链接在这里:stackblitz demo

2 回答

  • 5

    在您的保存按钮中,您可以使用已有的已禁用属性,但应该是这样的:

    [disabled]="company_name === undefined || fruits.length === 0"
    

    对于其他人来这个问题:

    您可以使用另一个很棒的软件包,它可以为您的标签提供验证,它的名称为 ng-chips .

    Git Repo :github.com/Gbuomprisco/ngx-chips

    Online Demo :angular-mfppay.stackblitz.io

  • 1

    Solution

    HTML:

    <form #sampleForm="ngForm">
    
        <mat-form-field class="example-chip-list">
            <input matInput placeholder="Company Name" required="true" name="company_name" [(ngModel)]="company_name">
        </mat-form-field>
    
        <mat-form-field class="example-chip-list">
            <mat-chip-list #chipList>
                <mat-chip *ngFor="let fruit of fruits" [selectable]="selectable" [removable]="removable" (removed)="remove(fruit)">
                    {{fruit}}
                    <mat-icon matChipRemove *ngIf="removable">cancel</mat-icon>
                </mat-chip>
                <input placeholder="New fruit..." #fruitInput [formControl]="fruitCtrl" [matAutocomplete]="auto" [matChipInputFor]="chipList"
                 [matChipInputSeparatorKeyCodes]="separatorKeysCodes" [matChipInputAddOnBlur]="addOnBlur" (matChipInputTokenEnd)="add($event)">
            </mat-chip-list>
            <mat-autocomplete #auto="matAutocomplete" (optionSelected)="selected($event)">
                <mat-option *ngFor="let fruit of filteredFruits | async" [value]="fruit">
                    {{fruit}}
                </mat-option>
            </mat-autocomplete>
        </mat-form-field>
    
    
        <button fxFlex="30" mat-raised-button color="primary" [disabled]="!sampleForm.form.valid || company_name === undefined || fruits.length === 0">Save</button>
    </form>
    

相关问题