单击Angular表中的按钮,如何获取ID项目?

我有一张桌子,上面有项目清单和一个按钮,可以向我显示详细信息:

HTML

<changeSet id="1" author="Me">
    <dropPrimaryKey tableName="tv_campaigns"/>
    <addColumn tableName="tv_campaigns">
        <column name="ID" type="bigint(20)" autoIncrement="true">
            <constraints nullable="false" primaryKey="true" unique="true"/>
        </column>
    </addColumn>
    <addAutoIncrement tableName="tv_campaigns" columnName="ID" columnDataType="bigint(20)"/>
</changeSet>

TS

<ng-container matColumnDef="details">
   <mat-header-cell *matHeaderCellDef mat-sort-header> Details</mat-header-cell>
       <mat-cell *matCellDef="let row"> 
           <button mat-button color="primary" (click)="getDetails($event)">Details</button>
       </mat-cell>
</ng-container>

console.log(event.value)的结果是未定义的。

但是当我使用这样的下拉菜单时:

HTML

getDetails(event) {
  this.filter.type= "items2"
  this.filter.filterObject= event.value;
  this.commonService.searchClientiClick(this.filter);
  console.log(event.value);
}

TS

<p-dropdown [options]="DropDownItem"  filter="true"    (onChange)="onChangeItem($event)"  
            [(ngModel)]="selectedItem" >
</p-dropdown>

有效!正确获取ID。 为什么?我在哪里错了?

zhy123456789zhy 回答:单击Angular表中的按钮,如何获取ID项目?

这是因为它们是不同的事件类型。考虑一下:

ClickEvent对象发送到您的第一个实现时,该事件将不考虑任何值。

传递ChangeEvent对象时,将存在一个值,因为下拉列表中有一个要引用的value属性。

,

您在Dropdown元素上获得了一个值,因为它具有与下拉列表相关的选择或更改事件的值。但是Button本身只会传递原始的点击事件。这就是为什么在“ event.value”键上输入“ undefined”的原因。

希望这会有所帮助。

只需控制台该事件即可:

console.log(event);

然后您就更容易理解,发生了什么事。

本文链接:https://www.f2er.com/3020614.html

大家都在问