Работая с angular5, я пытаюсь использовать SweetAlert для опции удаления в моем коде, но я получаю некоторую ошибку:
Я использую ту же функцию, что и в официальной ссылке
Это код в .ts
import * as _swal from 'sweetalert';
import { SweetAlert } from 'sweetalert/typings/core';
const swal: SweetAlert = _swal as any;
@Component({
selector: 'app-clients',
templateUrl: './clients.component.html',
styleUrls: ['./clients.component.scss']
})
export class ClientsComponent implements OnInit {
pageClients:any;
ngOnInit() {
this.doSearch();
this.getAllClientsList();
}
delete(p:Clients){
swal({
title: "Are you sure?",
text: "Once deleted, you will not be able to recover this imaginary file!",
icon: "warning",
buttons: true,
dangerMode: true,
})
.then((willDelete) => {
if (willDelete) {
this.clientService.deleteClient(p.id)
.subscribe(data=>{
this.pageClients.content.splice(
this.pageClients.content.indexOf(p),1
);
},err=>{
console.log(err);
})
swal("Poof! Your imaginary file has been deleted!", {
icon: "success",
});
} else {
swal("Your imaginary file is safe!");
}
});
}
}
Как решить эту проблему?
РЕДАКТИРОВАТЬ
delete(p:Clients){
swal({
title: "are you sur ?",
text: " nce deleted, you will not be able to recover this imaginary file!!",
type: 'warning',
showConfirmButton: true,
showCancelButton: true
})
.then((willDelete) => {
if (willDelete) {
this.clientService.deleteClient(p.id)
.subscribe(data=>{
this.pageClients.content.splice(
this.pageClients.content.indexOf(p),1
);
},err=>{
console.log(err);
})
swal({
title: " great",
type: 'success',
});
} else {
swal("you have not deleted this client yet ");
}
});
}
, когда появляется это предупреждение, я всегда получаю «отличное» предупреждение всякий раз, когда я выбираю ОК или отменяю.
Когда я попытался напечатать это, я понял, что он всегда выполняет первый, если (willDelete), поэтому этот клиент удаляется независимо от того, выберу я ОК или отменить.