作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Angular 4 的芯片组和自动完成功能开发 stackoverflow 中的标记系统等功能。这是我写的一段代码。它不起作用
<mat-form-field class="col-md-4 col-md-offset-2">
<mat-chip-list #chipList>
<mat-chip *ngFor="let item of displayItems" [selectable]="selectable"
[removable]="removable" (remove)="remove(item)">
{{item}}
<mat-icon matChipRemove *ngIf="removable">cancel</mat-icon>
</mat-chip>
<input placeholder="Enter Items..."
[matChipInputFor]="chipList"
[matChipInputSeparatorKeyCodes]="separatorKeysCodes"
[matChipInputAddOnBlur]="addOnBlur"
(matChipInputTokenEnd)="add($event)" matInput [matAutocomplete]="auto"/>
<mat-autocomplete #auto="matAutocomplete">
<mat-option *ngFor="let option of options" [value]="option">
{{ option }}
</mat-option>
</mat-autocomplete>
</mat-chip-list>
<mat-hint align="end">Press comma or enter after each selection</mat-hint>
</mat-form-field>
以下是 TS 文件中的内容:选项基本上是自动完成功能选择的位置。
snacksType: String[];
visible = true;
selectable = true;
removable = true;
addOnBlur = true;
options=['banana','apple','jackfruit','mango', 'grapes', 'kiwi'];
// Enter, comma
separatorKeysCodes = [ENTER, COMMA];
displayItems = [];
add(event: MatChipInputEvent): void {
let input = event.input;
let value = event.value;
// Add our item
if ((value || '').trim()) {
this.displayItems.push(value.trim());
}
// Reset the input value
if (input) {
input.value = '';
}
}
remove(item: any): void {
let index = this.displayItems.indexOf(item);
if (index >= 0) {
this.displayItems.splice(index, 1);
}
}
最佳答案
您可以在“mat-autocomplete”中使用@Output(optionSelected)并推送新项目。
snacksType: String[];
visible = true;
selectable = true;
removable = true;
addOnBlur = true;
options=['banana','apple','jackfruit','mango', 'grapes', 'kiwi'];
// Enter, comma
separatorKeysCodes = [ENTER, COMMA];
displayItems = [];
add(event: MatChipInputEvent): void {
let input = event.input;
let value = event.value;
// Add our item
if ((value || '').trim()) {
this.displayItems.push(value.trim());
}
// Reset the input value
if (input) {
input.value = '';
}
}
remove(item: any): void {
let index = this.displayItems.indexOf(item);
if (index >= 0) {
this.displayItems.splice(index, 1);
}
}
public addSelect(event) {
let option = event.option;
let value = option.value;
if ((value || '').trim()) {
this.fruits.push({ name: value.trim() });
}
}
在mat-autocomplete中添加(optionSelected)="addSelect($event)"
<mat-form-field class="col-md-4 col-md-offset-2">
<mat-chip-list #chipList>
<mat-chip *ngFor="let item of displayItems" [selectable]="selectable"
[removable]="removable" (remove)="remove(item)">
{{item}}
<mat-icon matChipRemove *ngIf="removable">cancel</mat-icon>
</mat-chip>
<input placeholder="Enter Items..."
[matChipInputFor]="chipList"
[matChipInputSeparatorKeyCodes]="separatorKeysCodes"
[matChipInputAddOnBlur]="addOnBlur"
(matChipInputTokenEnd)="add($event)" matInput [matAutocomplete]="auto"/>
<mat-autocomplete #auto="matAutocomplete" (optionSelected)="addSelect($event)">
<mat-option *ngFor="let option of options" [value]="option">
{{ option }}
</mat-option>
</mat-autocomplete>
</mat-chip-list>
<mat-hint align="end">Press comma or enter after each selection</mat-hint>
</mat-form-field>
关于Angular4 Material 芯片组+自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48937486/
我正在使用 Angular 4 的芯片组和自动完成功能开发 stackoverflow 中的标记系统等功能。这是我写的一段代码。它不起作用
我正在尝试制作一个基于 ChipGroup 和 Chip 的 recyclerview 过滤器 我在我的应用程序上使用 fragment ,因此,包含 RecyclerView 的 fragment
因此,我创建了一个可组合的 Chip 并在 LazyRow 中使用它,如下所示: LazyRow( modifier = modifier, horizontalArr
我使用 Javacv code 在 Andorid 中制作了一个自定义相机.我没有包含所有的 .so 文件,而只包含了我的应用程序似乎需要的文件。如下面的屏幕截图所示: 它适用于 Samsumg Ga
我是一名优秀的程序员,十分优秀!