Pertama, download dulu file cdn di https://sweetalert2.github.io/ atau bisa langsung klik link ini https://www.jsdelivr.com/package/npm/sweetalert2
Setelah didownload, ekstrak kemudia copykan seluruh file dist di directory web pada aplikasi yii2 anda

Karena saya sudah menginstall template admin maka tinggal mengubah AppAsset-nya

Setelah itu di controller actionDelete, update dan create sebelum redirect saya tambahkan script berikut
Yii::$app->session->setFlash('flash', 'Dihapus');
Biar dinamis di create saya ubah ‘Dihapus’ jadi ‘Ditambah’, begitupun di action update.
di view dan index saya tambahkan kode berikut
<div class="flash-data" data-flashdata="<?= Yii::$app->session->getFlash('flash') ?>"></div>

Kemudian saya buat file baru di web/js dengan nama alert.js, dan berisi kode berikut
const flashdata = $('.flash-data').data('flashdata'); if(flashdata) { Swal.fire({ icon: 'success', title: 'Data Berhasil ' + flashdata, text: '', timer : 900, customClass: 'swal-wide', // agar bisa saya edit ukuran popupnya }) } // Ketika Dihapus $(".tombol-hapus").click(function(e) { console.log = e; e.preventDefault(); // untuk menghentikan href e.stopImmediatePropagation(); const href = $(this).attr('href'); Swal.fire({ title: 'Apakah anda yakin?', text: "You won't be able to revert this!", icon: 'warning', showCancelButton: true, confirmButtonColor: '#3085d6', cancelButtonColor: '#d33', confirmButtonText: 'Hapus data', customClass: 'swal-wide', }).then((result) => { if (result.isConfirmed) { document.location.href = href; } }) });
untuk tombol hapus anda bisa menambahkan class ‘tombol-hapus’

'delete' => function ($url, $model) { return Html::a('<button class = "btn btn-danger"><span class="glyphicon glyphicon-trash"></span> Hapus</button>', $url, [ 'title' => Yii::t('app', 'lead-delete'), 'class' => 'tombol-hapus', 'data' => [ 'method' => 'post' ], ]); },
Jika sudah silahkan berikut hasilnya


untuk merubah ukuran popup anda bisa tambahkan css berikut
.swal2-popup { font-size: 2rem !important; }

Jika kamu menemukan error seperti diatas, kamu bisa ubah behaviors pada controllernya
public function behaviors() { return [ 'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'delete' => ['POST', 'GET'], // Tambahkan method GET ], ], ]; }
untuk penjelasan lebih lengkap bisa klik link ini https://www.youtube.com/watch?v=20l9e9IKKYg