单击内部时,Sweetalert2 无法阻止吐司关闭
Sweetalert2 unable to prevent a toast closing when clicked on the inside
我正在使用 Sweetalert2,但我无法成功阻止用户单击内部时 Sweet-alert toast 的关闭。我正在使用此 toast 功能来通知某个任务正在发生,我希望它在整个过程中保持打开状态。
话虽如此,现在当您点击 toast 的内部时,它会消失。当您单击它的外部时,它会保持打开状态,允许用户在应用程序中导航 (当然,只要它们不刷新即可。)
我在文档中没有看到任何内容或 GitHub 允许我在单击 toast 内部时阻止 toast 关闭的问题。
我在这里创建了一个 StackBlitz。 https://stackblitz.com/edit/angular-ivy-8zcvm6?file=src%2Fapp%2Fapp.component.html
有哪些解决方法或建议?
let toastr = Swal.fire({
'imageUrl' : './assets/img/loading.svg',
'imageWidth' : 100,
'title' : 'Importing Files',
'text' : 'Your import is running, keep working and we will let you know once it finishes.',
'toast' : true,
'position' : 'bottom-end',
'showCancelButton' : false,
'showConfirmButton' : false
});
使用解决方法,首先您必须存储对 toast 的引用,向其添加计时器并立即停止它(在 didOpen 函数内):
persistentToast: any = null;
openToast() {
let toastr = Swal.fire({
'title' : 'Importing Files',
'text' : 'Your import is running, keep working and we will let you know once it finishes.',
'toast' : true,
'position' : 'bottom-end',
'showCancelButton' : false,
'showConfirmButton' : false,
'timer': 500,
'didOpen': () => {
Swal.stopTimer();
}
});
this.persistentToast = toastr;
}
执行此操作后,单击 toast 时不会将其关闭。要关闭它,请添加一个您可以随时调用的函数:当您的任务完成或将其分配给按钮时单击:
closeToast() {
if (this.persistentToast)
this.persistentToast.close();
}
我正在使用 Sweetalert2,但我无法成功阻止用户单击内部时 Sweet-alert toast 的关闭。我正在使用此 toast 功能来通知某个任务正在发生,我希望它在整个过程中保持打开状态。
话虽如此,现在当您点击 toast 的内部时,它会消失。当您单击它的外部时,它会保持打开状态,允许用户在应用程序中导航 (当然,只要它们不刷新即可。)
我在文档中没有看到任何内容或 GitHub 允许我在单击 toast 内部时阻止 toast 关闭的问题。
我在这里创建了一个 StackBlitz。 https://stackblitz.com/edit/angular-ivy-8zcvm6?file=src%2Fapp%2Fapp.component.html
有哪些解决方法或建议?
let toastr = Swal.fire({
'imageUrl' : './assets/img/loading.svg',
'imageWidth' : 100,
'title' : 'Importing Files',
'text' : 'Your import is running, keep working and we will let you know once it finishes.',
'toast' : true,
'position' : 'bottom-end',
'showCancelButton' : false,
'showConfirmButton' : false
});
使用解决方法,首先您必须存储对 toast 的引用,向其添加计时器并立即停止它(在 didOpen 函数内):
persistentToast: any = null;
openToast() {
let toastr = Swal.fire({
'title' : 'Importing Files',
'text' : 'Your import is running, keep working and we will let you know once it finishes.',
'toast' : true,
'position' : 'bottom-end',
'showCancelButton' : false,
'showConfirmButton' : false,
'timer': 500,
'didOpen': () => {
Swal.stopTimer();
}
});
this.persistentToast = toastr;
}
执行此操作后,单击 toast 时不会将其关闭。要关闭它,请添加一个您可以随时调用的函数:当您的任务完成或将其分配给按钮时单击:
closeToast() {
if (this.persistentToast)
this.persistentToast.close();
}