【问题标题】:Allow click event only once on html element在 html 元素上只允许一次点击事件
【发布时间】:2020-03-10 07:56:18
【问题描述】:

我在我的应用程序中使用下面的代码。这里我的问题是我在每个表格的列标题中都包含了下面的代码。因此,当我单击 mat-select 时,将形成一个新的 currentddvalues,并将在 mat-option 的 *ngFor 循环中使用。

问题是,当我单击一个列标题时,数据将加载到所有列 mat-select 选项,因此,一旦单击另一个 mat-select,我就无法保留用户选择。

任何一次都可以帮助如何在 mat-select 上限制此 ngFor 一次,或者在单击其他 mat-select 后保留用户选择的任何其他建议。

                                            <mat-form-field >
                                              <mat-select  placeholder="Banks" #{{headerName}} (click)=getColumnData(i) multiple>
                                                <!-- <mat-select-search [formControl]="bankMultiFilterCtrl"></mat-select-search> -->
                                               <mat-option #{{headerName}}. (onSelectionChange)="sorton(-1, -1)" id="clearopt">Clear filter</mat-option>
                                                <mat-option *ngFor="let record of currentddvalues " (onSelectionChange)="sorton(i, record)" id={{record}} >
                                                  {{record}}
                                                </mat-option>

                                              </mat-select>
                                            </mat-form-field>

【问题讨论】:

    标签: html css angular typescript angular-material-5


    【解决方案1】:

    试试这样:

    Working Demo

    .ts

    isClicked:boolean = false
    
    getColumnData(i){
        this.isClicked = true
    }
    

    .html

     <mat-select  placeholder="Banks" #{{headerName}} (click)="!isClicked ? getColumnData(): false" multiple>
     </mat-select>
    

    【讨论】:

    • 点击其他选项后,我的垫子选择选项仍然被清除。
    • 查看修改后的答案
    • 感谢您的快速响应,但我的问题还没有解决。任何人都可以知道我们可以像在excel表中那样应用过滤器的角度表。我正在尝试为桌子开发这种类型,但在开发方面几乎没有差距。
    • 您可以为此使用 Angular Datatable。我根据你发的问题回答了
    • 它只提供排序而不是基于列数据的过滤。为了清楚起见,我正在寻找与 excel 表过滤器完全相同的过滤行的 html 表。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多