在选项中选择嵌套标签可防止调用方法

Selecting nested tags within options prevents method from being called

当我点击带有选项的任意位置时,我正在尝试调用一个方法。

当您单击选项中的任何嵌套标签时,select 托盘会在不调用该方法的情况下消失。

如果您 select 任何白色 space 或任何未嵌套的文本,将调用该方法。

<mdb-auto-completer 
    #completerBillTo
    #auto="mdbAutoCompleter"
    textNoResults="I have found no results :("
    [appendToBody]="true">
        <mdb-option 
            *ngFor="let billTo of resultsBillTo | async"
            [value]="billTo.name"
            (click)="updateAccountInfo( billTo, _accountService.accountFormGroup)">
                <small><strong> Id: {{ billTo.id }} </strong></small>
                {{ billTo.name }}
                <small>Value: {{ billTo.value }}</small>
        </mdb-option>
</mdb-auto-completer>

我已经尝试创建一个叠加层 div 并将其放置在所有元素的前面,但是单击 div 不会在单击时调用任何内容。

docs 开始,mdbAutoCompleter 有一个 select 事件。当一个选项被 selected 时,事件将会触发。

<mdb-auto-completer 
    #completerBillTo
    #auto="mdbAutoCompleter"
    textNoResults="I have found no results :("
    [appendToBody]="true"
    (select)="updateAccountInfo($event)"
>
    <mdb-option 
        *ngFor="let billTo of resultsBillTo | async"
        [value]="billTo"
    >
        <small><strong> Id: {{ billTo.id }} </strong></small>
        {{ billTo.name }}
        <small>Value: {{ billTo.value }}</small>
    </mdb-option>
</mdb-auto-completer>

如果它只是当你 select 标签时,你可以用 css 解决这个问题:

<mdb-option class="parent-class">
.parent-class {
  small, strong {
    pointer-events: none;
  }
}

这将删除 smallstrong 元素的点击事件。