如何在 laravel 控制器的 sweetalert2 中使整个确认按钮成为 link

How do I make the whole confirm button a link in sweetalert2 in laravel controller

我有一个来自 https://realrashid.github.io/sweet-alert/ 的 sweetalert,我正在我的控制器中使用它。我的确认按钮只有在您单击实际的 'Yes' 文本时才有效,因为这是 link 所在的位置。如果我点击确认按钮上的其他任何地方,警报就会关闭。我希望整个按钮都通过 link。谢谢。

public function show($id) {
  $user = User::find($id);

  Alert::warning('Deleting user -<br/>are you sure?')
    ->showCancelButton($btnText = 'Cancel', $btnColor = '#dc3545')
    ->showConfirmButton($btnText = '<a href="/admin/users/'. $id .'/delete">Yes</a>', $btnColor = '#38c177')
    ->autoClose(false);

  return redirect()->route('users.index');
}

似乎库没有 API 添加任何操作,因此,您可以使用肮脏的技巧:

为您的 link 添加一些 class,也向按钮添加 class:

Alert::warning('Deleting user -<br/>are you sure?')
    ->showCancelButton($btnText = 'Cancel', $btnColor = '#dc3545')
    ->showConfirmButton(
        $btnText = '<a class="add-padding" href="/admin/users/'. $id .'/delete">Yes</a>', // here is class for link
        $btnColor = '#38c177',
        ['className'  => 'no-padding'], // add class to button
    )->autoClose(false);

为 CSS 中的 class 设置样式:

.no-padding {padding:0 !important;}

.add-padding {
    padding: .625em 2em; # padding as you need according your styles
    display: inline-block;
}