私はangular 5マテリアルデザインで5を学び始めました。私の要件は、angularマテリアルダイアログを常に画面の右側に固定することです。デフォルトでは常に画面の中央に表示されますが、画面の右側にダイアログを表示するにはどうすればよいですか。
import { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatDialogConfig } from '@angular/material';
私のhtml:
<div class="add-contact-btn" fxFlex="10">
<button mat-raised-button (click)="openDialog()">add contact</button>
</div>
openDialog(): void {
const dialogRef = this.dialog.open(ContactsComponent, {
width: '250px' });
dialogRef.afterClosed().subscribe(result => {
console.log('The dialog was closed');
});
}
アプリにも同様の要件がありました。私はあなたのコードを再利用して、私がそれをどのようにしたかを示しました。このようにして、クリックした位置にダイアログを表示することができました。
HTML:
<div class="add-contact-btn" fxFlex="10">
<button mat-raised-button (click)="openDialog($event)">add contact</button>
</div>
脚本:
openDialog(event): void {
const dialogPosition: DialogPosition = {
top: event.y + 'px',
left: event.x + 'px'
};
const dialogRef = this.dialog.open(ContactsComponent, {
width: '250px',
position: dialogPosition
});
dialogRef.afterClosed().subscribe(result => {
console.log('The dialog was closed');
});
}
これを試して
const dialogRef = this.dialog.open(ContactsComponent, {
width: '250px'
position: { right: '0'}
});
トップを追加することもできます:0など。