gpt4 book ai didi

javascript - Angular 6 - MatDialog - EventEmitter - 将对象从 MatDialog 共享到父组件

转载 作者:行者123 更新时间:2023-11-30 11:05:00 36 4
gpt4 key购买 nike

现在可以在两个组件之间进行通信。但不知道如何通过事件发射器将用户(选定)输入的值作为对象从 MatDialog 组件传递到父组件。在这里,我想在单击提交按钮后将选定的选项值和文本区域值作为对象传递。

dialog.html

          <mat-select [(ngModel)]="selectedIssue"  [ngModelOptions]="{standalone: true}">
<mat-option [value]="option1">Option AA</mat-option>
<mat-option [value]="option2">Option BB</mat-option>
<mat-option [value]="option3">Option CC</mat-option>
<mat-option [value]="option4">Option DD</mat-option>
<mat-option [value]="option5">Option EE</mat-option>
</mat-select>


<div>
<textarea class="mention-reason" [(ngModel)]="reason" [ngModelOptions]="{standalone: true}"></textarea>
</div>

<button class="cancel" matDialogClose>Cancel</button>
<button class="submit" [mat-dialog-close] (click)="submitUserReason()">Submit</button></span>

dialog.ts

onSubmitReason = new EventEmitter();
submitUserReason(): void {
this.onSubmitReason.emit('hello');
}

onConfirmClick(): void {
this.dialogRef.close(true);
}

parent.ts

callSupport() {
const dialogRef = this.dialog.open(customerSupportComponent);
const subscribeDialog = dialogRef.componentInstance.onSubmitReason.subscribe((data) => {
console.log('dialog data', data);
//i can see 'hello' from MatDialog
});

dialogRef.afterClosed().subscribe(result => {
subscribeDialog.unsubscribe();
});

非常感谢帮助过的人。

最佳答案

我假设有两个按钮。 1) 提交 2) 关闭

所以,如果你想在提交按钮上点击父组件中的选定数据,

submitUserReason(): void {
this.dialogRef.close({ option: userSelectedOption, reason:userReason });
}

在父组件中,

dialogRef.afterClosed().subscribe(result => {
console.log(result);
});

关于javascript - Angular 6 - MatDialog - EventEmitter - 将对象从 MatDialog 共享到父组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56022285/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com