@ng-select/ng-select 选项点击没有鼠标点击事件
@ng-select/ng-select No mouse click event on option click
我正在尝试向 bootstrap 模态 (ngx-bootstrap) 中内置的过滤器弹出窗口添加过滤器,但我遇到了以下问题:
我的选项数组看起来像
[
{
"name":"All",
"value":""
},
{
"name":"Foo",
"value":"foo"
},
{
"name":"Bar",
"value":"bar"
},
]
模板:
<ng-select
(change)="updateFilter($event)"
[(ngModel)]="value">
<ng-option *ngFor="let option of options"
[value]="option.value">
<div title="{{option.name}}">{{option.name}}</div>
</ng-option>
</ng-select>
@ng-select/ng-select v.7
呈现弹出窗口并显示 select 选项时,我不能 select 单击鼠标的选项。我可以 select 使用箭头键并按 Enter 的选项,我可以将鼠标悬停在元素上,它们会突出显示。但是当我点击时,它什么都不做,没有事件,控制台中没有 js 错误,什么都没有。
我只能猜测是其他东西干扰了我页面上的点击事件,但我不知道如何找到它。
注意:我尝试添加 appendTo="body"
- 没有成功
UPD:简单的 trackBy
解决了我的问题。
解决方案很简单:
我添加了 trackBy
函数来保留 ng-select 元素的值:
<ng-select
(change)="updateFilter($event)"
[(ngModel)]="value">
<ng-option *ngFor="let option of options; trackBy:identify"
[value]="option.value">
<div title="{{option.name}}">{{option.name}}</div>
</ng-option>
</ng-select>
identify(index, item){
return item.name;
}
我正在尝试向 bootstrap 模态 (ngx-bootstrap) 中内置的过滤器弹出窗口添加过滤器,但我遇到了以下问题: 我的选项数组看起来像
[
{
"name":"All",
"value":""
},
{
"name":"Foo",
"value":"foo"
},
{
"name":"Bar",
"value":"bar"
},
]
模板:
<ng-select
(change)="updateFilter($event)"
[(ngModel)]="value">
<ng-option *ngFor="let option of options"
[value]="option.value">
<div title="{{option.name}}">{{option.name}}</div>
</ng-option>
</ng-select>
@ng-select/ng-select v.7
呈现弹出窗口并显示 select 选项时,我不能 select 单击鼠标的选项。我可以 select 使用箭头键并按 Enter 的选项,我可以将鼠标悬停在元素上,它们会突出显示。但是当我点击时,它什么都不做,没有事件,控制台中没有 js 错误,什么都没有。
我只能猜测是其他东西干扰了我页面上的点击事件,但我不知道如何找到它。
注意:我尝试添加 appendTo="body"
- 没有成功
UPD:简单的 trackBy
解决了我的问题。
解决方案很简单:trackBy
函数来保留 ng-select 元素的值:
<ng-select
(change)="updateFilter($event)"
[(ngModel)]="value">
<ng-option *ngFor="let option of options; trackBy:identify"
[value]="option.value">
<div title="{{option.name}}">{{option.name}}</div>
</ng-option>
</ng-select>
identify(index, item){
return item.name;
}