首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角度8的材料芯片。只允许用户添加1个芯片

角度8的材料芯片。只允许用户添加1个芯片
EN

Stack Overflow用户
提问于 2019-08-26 21:58:27
回答 1查看 2.5K关注 0票数 0
代码语言:javascript
复制
I'm trying to make so users can only choose one chip in my angular material chip list.

当我开始在输入中键入时,进程会转到后端,并根据键入的内容检索选项列表

如文档所示,我尝试使用multiple = false,但我仍然能够选择多个结果。

代码语言:javascript
复制
<mat-form-field class="double-field" appearance="outline">
            <mat-label>{{translations.companyLbl}}</mat-label>
            <mat-chip-list #companyChip [multiple]="multiple">
              <mat-chip *ngFor="let company of companiesLoaded" [selectable]="selectable" [removable]="removable"
                (removed)="removeCompanyChip(company)">
                {{company.Name}}
                <mat-icon matChipRemove *ngIf="companyLocked">cancel</mat-icon>
              </mat-chip>
              <input placeholder="Choose a company" #companyInput [formControl]="companyControl" formControlName="Company"
                [matAutocomplete]="companyAutocomplete" [matChipInputFor]="companyChip"
                [matChipInputSeparatorKeyCodes]="separatorKeysCodes" [matChipInputAddOnBlur]="addOnBlur" />
            </mat-chip-list>
            <mat-autocomplete #companyAutocomplete="matAutocomplete" (optionSelected)="selectedCompanyChip($event)">
              <mat-option *ngFor="let company of filteredCompanies | async" [value]="company">
                {{ company.Name }}
              </mat-option>
            </mat-autocomplete>
          </mat-form-field>

用户只能选择一个结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-27 03:42:19

首先,将这个添加到您的芯片输入标签中。

代码语言:javascript
复制
<input (matChipInputTokenEnd)="add($event)">

在add函数中写入逻辑

代码语言:javascript
复制
add(event: MatChipInputEvent): void {
    const input = event.input;
    const value = event.value;

    // Add your company if array's length is 0
    if (this.companiesLoaded.length === 0) {
      this.companiesLoaded.push(value.trim());

    }

    // Reset the input value
    if (input) {
      input.value = '';
    }
  }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57665438

复制
相关文章

相似问题

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