如何在 mat-list-option(mat-selection-list)项目中添加辅助操作
how to add a secondary action in mat-list-option (mat-selection-list) item
如何在 mat-list-option 元素内的 mat-selection-list 中添加辅助操作(mat-icon-button)。
目前所有项目都添加到 mat-list-text div。
示例 (https://stackblitz.com/edit/angular-dwac7y):
<mat-selection-list [(ngModel)]="selectedOptions">
<mat-list-option *ngFor="let item of items;" [value]="item.id" [disableRipple]="true">
<mat-icon matListAvatar>person</mat-icon>
<h3 matLine> {{item.name}}</h3>
<p matLine>
{{item.details}}
</p>
<button mat-icon-button (click)="onEdit($event, item)">
<mat-icon>edit</mat-icon>
</button>
</mat-list-option>
</mat-selection-list>
您可以按照以下方式进行。
<h2>Selection-List with secondary action:</h2>
<mat-selection-list [(ngModel)]="selectedOptions">
<mat-list-option *ngFor="let item of items;" [value]="item.id" [disableRipple]="true">
<div style="display:flex; justify-content:space-between;align-items:center">
<div style="display:flex;align-items:center">
<mat-icon matListAvatar>person</mat-icon>
<div style="display:flex; flex-direction:column">
<div>
<h3 matLine> {{item.name}}</h3>
</div>
<div style="margin-top:-30px">
<p matLine>
{{item.details}}
</p>
</div>
</div>
</div>
<div>
<button mat-icon-button (click)="onEdit($event, item)">
<mat-icon>edit</mat-icon>
</button>
</div>
</div>
</mat-list-option>
</mat-selection-list>
但是下面的样式...
<div style="margin-top:-30px">
在我看来这不是一个好的解决方案。
我觉得活动应该是这样的。
onEdit(event, item){
event.stopPropagation();
}
如何在 mat-list-option 元素内的 mat-selection-list 中添加辅助操作(mat-icon-button)。
目前所有项目都添加到 mat-list-text div。
示例 (https://stackblitz.com/edit/angular-dwac7y):
<mat-selection-list [(ngModel)]="selectedOptions">
<mat-list-option *ngFor="let item of items;" [value]="item.id" [disableRipple]="true">
<mat-icon matListAvatar>person</mat-icon>
<h3 matLine> {{item.name}}</h3>
<p matLine>
{{item.details}}
</p>
<button mat-icon-button (click)="onEdit($event, item)">
<mat-icon>edit</mat-icon>
</button>
</mat-list-option>
</mat-selection-list>
您可以按照以下方式进行。
<h2>Selection-List with secondary action:</h2>
<mat-selection-list [(ngModel)]="selectedOptions">
<mat-list-option *ngFor="let item of items;" [value]="item.id" [disableRipple]="true">
<div style="display:flex; justify-content:space-between;align-items:center">
<div style="display:flex;align-items:center">
<mat-icon matListAvatar>person</mat-icon>
<div style="display:flex; flex-direction:column">
<div>
<h3 matLine> {{item.name}}</h3>
</div>
<div style="margin-top:-30px">
<p matLine>
{{item.details}}
</p>
</div>
</div>
</div>
<div>
<button mat-icon-button (click)="onEdit($event, item)">
<mat-icon>edit</mat-icon>
</button>
</div>
</div>
</mat-list-option>
</mat-selection-list>
但是下面的样式...
<div style="margin-top:-30px">
在我看来这不是一个好的解决方案。
我觉得活动应该是这样的。
onEdit(event, item){
event.stopPropagation();
}