2017-05-24 8 views
2

私は、問題は、私がユーザーを削除しようとしていますし、私は「はい」と「いいえ」などのボタンを持ちたい角度2設定モーダルダイアログ

でモーダルダイアログの設定を持っています。 ここにモーダルのショートカットがあります。 enter image description here

これは、関数である:私は < < import { Modal } from 'angular2-modal/plugins/bootstrap'ブートストラップangular2モーダル/プラグイン/からモーダルを使用していますモード成分については

public deleteUser(i: number) { 
    this.modal.alert().size('lg') 
     .title('A simple Alert style modal window') 
     .body(` 
      <h4>Are you sure you want to delete the user?</h4>`) 
     .open(); 

    } 

; >>

誰かがどのように教えてもらえ「OK」ボタンを削除し、「はい」と「いいえ」ボタンを追加してください。

は、あなたがあなたのopen().footerClass('no-display')を追加し、そのように、このCSSクラスを定義することができますあなたの

+0

このライブラリではサポートされていないようですが、少しハックする必要があります... – n00dl3

答えて

2

を次のようにそれを使用しています。

代わりに.confirm()モーダルを使用してください。

modal code Generatorを確認してください。

0

ありがとう:

no-display { 
    display: none; 
} 
2

あなたが好きなカスタムモーダルコンポーネントを作成することができます。そして、追加

export class CustomModalContext extends BSModalContext { 
    yesCallback:() => Promise<any>; 
} 

@Component({ 
    selector: 'modal-content', 
    template: ` 
    <div class="modal-content"> 
     <div class="modal-header"> 
      <button class="close" type="button" (click)="dialog.close()"> 
       <span aria-hidden="true">×</span> 
      </button> 
      <h3 class="modal-title">Confirmation</h3> 
     </div> 


     <div class="modal-body"> 
      <h4>Are you sure you want to delete the user?</h4> 
     </div> 

     <div class="modal-footer"> 
      <button class="btn btn-primary" (click)="yes()">Yes</button> 
      <button class="btn" (click)="dialog.close()">No</button> 
     </div> 
    </div>` 
}) 
export class CustomModal implements CloseGuard, ModalComponent<CustomModalContext> { 
    context: CustomModalContext; 

    constructor(public dialog: DialogRef<CustomModalContext>) { 
    this.context = dialog.context; 
    dialog.setCloseGuard(this); 
    } 

    yes() { 
    this.context.yesCallback() 
     .then(() => this.dialog.close()) 
    } 

    beforeDismiss(): boolean { 
    return true; // prevent closing modal by using Esc 
    } 
} 

あなたの@NgModuleメタデータのdeclarationsentryComponents

declarations: [ App, CustomModal ], 
    entryComponents: [CustomModal], 
    bootstrap: [ App ] 
}) 
export class AppModule {} 

、あなたはAngular 2 Modalが提供するBootstrap pluginから間違っモーダル方法、alert()を選択した

deleteUser() { 
    return this.modal.open(CustomModal, 
     overlayConfigFactory({ 
      yesCallback:() => { 
       alert('Deleting'); 
       return Promise.resolve(null) 
      } 
     }, BSModalContext)); 
} 

Plunker Example

関連する問題