gpt4 book ai didi

angular - 在 Angular 中制作确认对话框的简单方法?

转载 作者:太空狗 更新时间:2023-10-29 16:46:28 25 4
gpt4 key购买 nike

是否有任何不那么复杂的方法来制作 Angular 2 中的确认对话框,想法是单击一个项目然后显示弹出窗口或模态以确认其删除,我从这里尝试了 Angular 2 模态 angular2-modal ,但如果您确认或取消它会做某事,我不知道该怎么做。点击功能很好,唯一的问题是我不太了解如何使用它。我还有另一个具有相同插件的模态,但我使用的有所不同。

this.modal.open(MyComponent);

而且我不想创建另一个组件来显示确认框,这就是我要问的原因。

最佳答案

方法一

一种简单的确认方法是使用 native 浏览器确认警报。该模板可以有一个按钮或链接。

<button type=button class="btn btn-primary"  (click)="clickMethod('name')">Delete me</button>

并且组件方法可以像下面这样。

clickMethod(name: string) {
if(confirm("Are you sure to delete "+name)) {
console.log("Implement delete functionality here");
}
}

方法二

获得简单确认对话框的另一种方法是使用像ng-bootstrap 这样的 Angular Bootstrap 组件。或 ngx-bootstrap .您可以简单地安装该组件并使用模态组件。

  1. Examples of modals using ng-bootstrap
  2. Examples of modals using ngx-bootstrap .

方法三

下面提供了另一种使用我在项目中实现的 angular2/material 实现简单确认弹出窗口的方法。

应用程序模块.ts

import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { ConfirmationDialog } from './confirm-dialog/confirmation-dialog';

@NgModule({
imports: [
...
FormsModule,
ReactiveFormsModule
],
declarations: [
...
ConfirmationDialog
],
providers: [ ... ],
bootstrap: [ AppComponent ],
entryComponents: [ConfirmationDialog]
})
export class AppModule { }

确认-dialog.ts

import { Component, Input } from '@angular/core';
import { MdDialog, MdDialogRef } from '@angular/material';

@Component({
selector: 'confirm-dialog',
templateUrl: '/app/confirm-dialog/confirmation-dialog.html',
})
export class ConfirmationDialog {
constructor(public dialogRef: MdDialogRef<ConfirmationDialog>) {}

public confirmMessage:string;
}

确认对话框.html

<h1 md-dialog-title>Confirm</h1>
<div md-dialog-content>{{confirmMessage}}</div>
<div md-dialog-actions>
<button md-button style="color: #fff;background-color: #153961;" (click)="dialogRef.close(true)">Confirm</button>
<button md-button (click)="dialogRef.close(false)">Cancel</button>
</div>

app.component.html

<button (click)="openConfirmationDialog()">Delete me</button>

应用程序组件.ts

import { MdDialog, MdDialogRef } from '@angular/material';
import { ConfirmationDialog } from './confirm-dialog/confirmation-dialog';

@Component({
moduleId: module.id,
templateUrl: '/app/app.component.html',
styleUrls: ['/app/main.css']
})

export class AppComponent implements AfterViewInit {
dialogRef: MdDialogRef<ConfirmationDialog>;

constructor(public dialog: MdDialog) {}

openConfirmationDialog() {
this.dialogRef = this.dialog.open(ConfirmationDialog, {
disableClose: false
});
this.dialogRef.componentInstance.confirmMessage = "Are you sure you want to delete?"

this.dialogRef.afterClosed().subscribe(result => {
if(result) {
// do confirmation actions
}
this.dialogRef = null;
});
}
}

index.html => 添加了以下样式表

<link rel="stylesheet" href="node_modules/@angular/material/core/theming/prebuilt/indigo-pink.css">

关于angular - 在 Angular 中制作确认对话框的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41684114/

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