javascript - Angular - OnSelected 函数不适用于标签输入
问题描述
我正在使用 ngx-chips,但我无法实现 OnSelected 函数。
在我的 app.component.html 我有这个:
<div class="force-to-the-bottom">
<tag-input [ngModel]="[]"
(onSelect)="onSelected($event)"
(onRemove)="onItemRemoved($event)">
<tag-input-dropdown
[autocompleteItems]="items"
[showDropdownIfEmpty]="true"
[dynamicUpdate]="false"
>
</tag-input-dropdown>
</tag-input>
</div>
在我的 app.component.ts 中,函数以这种简单的方式实现:
onSelected($event: any) {
console.log("Fire Selected");
}
onItemRemoved($event: any) {
console.log("Fire Removed");
}
非常奇怪的是 onItemRemoved 可以正常工作,而 onSelected 不会触发。
这是我的StackBlitz
我不明白我做错了什么。
有人能帮我吗?
谢谢
解决方案
我认为你只是在onAdd
和onSelect
事件之间混淆。可能您正在寻找的onAdd
是ngx-chips
. 这是所有输出事件的文档的链接。
<tag-input [ngModel]="[]" (onAdd)="onAdded($event)" (onSelect)="onSelected($event)" (onRemove)="onItemRemoved($event)">
<tag-input-dropdown
[autocompleteItems]="items"
[showDropdownIfEmpty]="true"
[dynamicUpdate]="false"
>
</tag-input-dropdown>
</tag-input>
还有 TS -
onAdded($event: any) {
console.log("Fire Added");
}
如果你看到 Stackblitz,你的onSelect
作品也很好。这只是一个事件,当您在将标签添加到输入后单击标签时会触发该事件。混淆命名,我知道。
推荐阅读
- logging - 将远程文件拖尾到本地文件中
- c# - 从 varchar Unix Timestamp 上的实体框架 DbSet 检索记录的最快方法
- unity3d - 单位像素
- mysql - 如何在无法登录 mysql 的情况下恢复默认 [mysql] 系统数据库?
- swift - 如何在 SwiftUI 中将图像转换为 Base64?
- css - 递归定位和修改特定类型的第一个元素的 css
- python - Python 将变量值重置为 _init_ 中的值
- mongodb - 如何安全地停止 mongodump?
- python - 输入错误:文件扩展名“.log”没有脚本引擎
- c++ - 基于索引的C ++字符数组元素不进行比较