ngx-bootstrap modal: How to get a return value from a modal?

前端 未结 9 1529
一向
一向 2020-12-13 02:23

In my Angular 4 app, let\'s assume that I\'m inside a service.

At some point, I want to ask the user for a confirmation, currently I\'m doing it with just a co

9条回答
  •  没有蜡笔的小新
    2020-12-13 03:12

    Try this:

    home.component.ts

    import { BsModalService } from 'ngx-bootstrap/modal';
    import { BsModalRef } from 'ngx-bootstrap/modal';
    
    export class HomeComponent {
     public modalRef: BsModalRef;
     constructor(
        private modalService: BsModalService
     ) { }
    
     openConfirmDialog() {
        this.modalRef = this.modalService.show(HomeModalComponent);
    
        this.modalRef.content.onClose = new Subject();
    
        this.modalRef.content.onClose.subscribe(result => {
            console.log('results', result);
         })
     }
    }
    

    and

    home-modal.component.ts

    import { BsModalRef } from 'ngx-bootstrap/modal';
    export class HomeModalComponent {
    
     constructor(private bsModalRef: BsModalRef) {
    
     }
    
     public ngOnInit(): void {
     }
    
     public onConfirm(): void {
        this.bsModalRef.content.onClose.next(true);
        this.bsModalRef.hide();
     }
    
     public onCancel(): void {
        this.bsModalRef.content.onClose.next(false);
        this.bsModalRef.hide();
     }
    }
    

提交回复
热议问题