【问题标题】:Angular ng-select tag input - need to create tag onfocusoutAngular ng-select 标签输入 - 需要创建标签 onfocusout
【发布时间】:2020-08-13 07:15:15
【问题描述】:

ng-select 中,用户需要在输入后按回车键来创建标签。但是在我的场景中,当用户在输入后从 ng-select 元素中删除 focus 时也需要创建标签(当用户输入并离开时没有按回车键)。这是 HTML 部分。在角度反应形式中使用它。

<ng-select placeholder="Tags" [items]="[]" [addTag]="true" [multiple]="true" [selectOnTab]="true" [isOpen]="false" formControlName="tags"> </ng-select>

请告诉我你的想法。谢谢。

【问题讨论】:

    标签: javascript angular tags angular-ngselect


    【解决方案1】:

    您可以使用“模糊”事件as described in the ng-select repo

    您只需将 (blur)="someEvent()" 添加到您的 ng-select。

    编辑:

    要收听 Enter 键上的按键,您可以这样做:

    你的意思是监听一个回车按键事件吗?绝对!

    你可以使用keyup事件:

    (keyup)="someAction($event)"
    

    然后在组件中你可以这样做:

    someAction(event) {
        if (e.keyCode === 13) {
            // enter key was pressed
        }
    }
    

    【讨论】:

    • 有什么方法可以触发 ng-select 元素上的 Enter 按键吗?
    • 你的意思是监听一个回车按键事件吗?绝对地!我已经编辑了我的答案以展示如何做到这一点。
    • 实际上不是。我的意思是务实地触发 HTML 元素上的 Enter 按键。
    • 您只是想触发“创建标签”事件,对吧?当用户实际按下回车键(我添加的编辑)和用户离开元素(模糊事件)时,您可以触发该事件。您不需要以编程方式触发“输入”按键。您应该尽量使触发器尽可能接近实际行为。在 on blur 事件上触发 keypress 事件将来可能会变得非常难以维护。
    猜你喜欢
    • 2014-06-28
    • 2020-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    相关资源
    最近更新 更多