gpt4 book ai didi

html - 如何在 Angular 输入中添加垫选择

转载 作者:行者123 更新时间:2023-12-04 09:38:59 25 4
gpt4 key购买 nike

我发现要在我的输入字段上添加 mat select 但由于某种原因,当我单击箭头时,它不起作用并且没有向我显示所有列表。

我有自动完成功能,通常当用户开始输入时,它会显示所有要选择的列表,但我也尝试添加 mat-select,以便用户只需单击箭头并从列表中选择,而无需先输入内容。

我已经按照下面的 stackblitz 示例(我的不需要复选框)但我的有点不同,我也有文本输入和自动完成功能,所以我不确定为什么我不能再用当前代码输入我的输入和当我单击箭头时,下拉列表也没有显示。

任何建议或帮助将真正受到赞赏。

https://stackblitz.com/edit/angular-material-v9-mat-select-with-mat-chip-list?file=src%2Fapp%2Fselect-multiple-example.html

    <mat-form-field class="form" appearance="fill">
<mat-label>Search or Select a Super Tag</mat-label>

<mat-select [formControl]="superTags" multiple>
<mat-select-trigger>
<mat-chip-list #chipList>
<div>
<mat-chip *ngFor="let superTag of superTags" [selectable]="selectable" [removable]="removable"
(removed)="remove(superTag)">
<img class="super-icon" src="/assets/images/icons/super-tag-icon.svg">
{{superTag.tag}}
<mat-icon matChipRemove *ngIf="removable" matTooltip="Remove a super tag">cancel</mat-icon>
</mat-chip>
</div>
<div>
<input matInput #input [(ngModel)]="tagIn" [formControl]="tagCtrl" [matAutocomplete]="auto" [matChipInputFor]="chipList"
[matChipInputSeparatorKeyCodes]="separatorKeysCodes" (matChipInputTokenEnd)="addTag()">

</div>
</mat-chip-list>
<mat-autocomplete #auto="matAutocomplete" (optionSelected)="selected($event)">
<mat-option *ngIf="isLoading" class="is-Loading">
<mat-spinner diameter="20"></mat-spinner>
</mat-option>
<ng-container *ngIf="!isLoading">
<mat-option *ngFor="let tag of filteredSuperTags | async" [value]="tag">
{{tag}}
</mat-option>
</ng-container>
</mat-autocomplete>
</mat-select-trigger>
</mat-select>
</mat-form-field>

enter image description here

最佳答案

在这种情况下,我不会使用芯片列表和自动完成的组合。

我认为,您真正需要的是带有包含多选复选框的选项的自动完成功能。尝试做,像这样的事情。

<mat-form-field class="example-full-width">
<input type="text" placeholder="Select Users" aria-label="Select Users" matInput [matAutocomplete]="auto" [formControl]="userControl">
<mat-hint>Enter text to find users by name</mat-hint>
</mat-form-field>

<mat-autocomplete #auto="matAutocomplete" [displayWith]="displayFn">
<mat-option *ngFor="let user of filteredUsers | async" [value]="selectedUsers">
<div (click)="optionClicked($event, user)">
<mat-checkbox [checked]="user.selected" (change)="toggleSelection(user)" (click)="$event.stopPropagation()">
{{ user.firstname }} {{ user.lastname }}
</mat-checkbox>
</div>
</mat-option>
</mat-autocomplete>

完整示例:

https://stackblitz.com/edit/angular-sx79hu?embed=1&file=app/multiselect-autocomplete-example.html

关于html - 如何在 Angular 输入中添加垫选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62413876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com