我正在尝试创建一个证明窗口,供用户在将其数据提交到数据库之前验证其输入。
引导程序模态窗口可以工作,但是如果我将func x()放在按钮的(click)=上,则x()在模态显示时执行。
另一个困难是我试图将模式窗口用于三个潜在的数据库更新请求(删除,发布或放置),因此x()必须根据哪个按钮打开了模式窗口而是动态的。
引导程序模态窗口可以工作,但是如果我将func x()放在按钮的(click)=上,则x()在模态显示时执行。
另一个困难是我试图将模式窗口用于三个潜在的数据库更新请求(删除,发布或放置),因此x()必须根据哪个按钮打开了模式窗口而是动态的。
HTML
<span *ngIf="!isCurrent">
<button class="entry" id="add" (click)="openProofWindow(proof, 'add');">Add</button>
</span>
<span *ngIf="isCurrent">
<button class="entry" id="update" (click)="openProofWindow(proof, 'update');">Update</button> <!--updateRequest();-->
<button class="entry" id="delete" (click)="openProofWindow(proof, 'delete');">Delete</button>
</span>
ts代码
openProofWindow(content, target): void {
this.modalService.open(content, target);
我尝试过:
(click)="openProofWindow(proof, 'add');addRecord();"
但这会在关闭模式之前执行。
这是模式窗口(HTML)
<div class="modal-header container">
<div class="row">
<h4 class="modal-title col-7">Proof Copy</h4>
<button type="button" class="btn col-2 btn-modal" aria-label="no" (click)="modal.dismiss('cancel click')">
<span aria-hidden="true">No</span>
</button>
<button type="button" class="btn col-2 btn-modal btn-success" aria-label="ok" ngbAutofocus (click)="modal.close('Ok click');">
<span aria-hidden="true">Ok</span>
</button>
</div>
</div>
在用户选择“确定”或“否”之前,什么也不会发生。
如果用户选择确定,则取决于模态是作为添加,删除还是更新(放置,删除,发布)请求打开的,应调用相应的功能-并关闭模态窗口。
答案 0 :(得分:0)
您可以使用此
this.modalService.afterClosed().subscribe(result => {
console.log('The dialog was closed');
this.animal = result;
});
我也想参考材料文档here
答案 1 :(得分:0)
我确实找到了答案:
在:
openProofWindow(content, target): void {
this.modalService.open(content, target);
我设置一个公共变量,而不是在modalService.open中添加一个参数。
public updateType: string;
openProofWindow(content, target): void {
this.updateType = target;
this.modalService.open(content);
然后,在“确定”按钮中,我打了一个额外的电话:
<button type="button" class="btn col-2 btn-modal btn-success" aria-label="ok" ngbAutofocus (click)="confirmedEdit(); modal.close('Ok click');">
<span aria-hidden="true">Ok</span>
我需要添加函数以引用变量集:
confirmedEdit(): void {
console.log(this.updateType);
}
这有效。