首页 > 解决方案 > Keydown 事件不适用于 Angular 中的选项

问题描述

我有以下代码,当用户按下回车键以从选项中进行选择时,需要触发一个函数。

如果我使用 (click) 事件,一切都会按预期工作,但这只会在点击时执行功能,这对 UX 来说不是很好。

<form (ngSubmit)="onCreatePost(formData.value)" #formData="ngForm" autocomplete="off" class="form">
    <select name="name" ngModel>
        <option value="" disabled selected>Choose language</option>
        <option *ngFor="let language of languageList" (keydown.enter)="getLanguageCode(language.code)">{{ language.name }}</option>                   
    </select>
    <input type="text" name="code" [ngModel]="langCode">
    <button type="submit" class="button-primary" [disabled]="!formData.valid"><i class="fas fa-plus-circle margin"></i>Submit</button>
</form>

标签: angularangular-forms

解决方案


尝试使用(keydown.enter)onselect而不是每个选项。我在表格上使用它并且工作正常。


推荐阅读