Sweetalert: Bagaimana menangani tindakan tombol batal

Dibuat pada 25 Jan 2017  ·  7Komentar  ·  Sumber: t4t5/sweetalert

Kami memiliki parameter panggilan balik untuk tombol konfirmasi, tetapi bagaimana kami dapat menggunakan panggilan balik untuk tombol batal?

Komentar yang paling membantu

Anda dapat menemukan contoh cara melakukannya di dokumentasi: http://t4t5.github.io/sweetalert/

"... dan dengan melewatkan parameter, Anda dapat menjalankan sesuatu yang lain untuk 'Batal'."

swal({
  title: "Are you sure?",
  text: "You will not be able to recover this imaginary file!",
  type: "warning",
  showCancelButton: true,
  confirmButtonColor: "#DD6B55",
  confirmButtonText: "Yes, delete it!",
  cancelButtonText: "No, cancel plx!",
  closeOnConfirm: false,
  closeOnCancel: false
},
function(isConfirm){
  if (isConfirm) {
    swal("Deleted!", "Your imaginary file has been deleted.", "success");
  } else {
    swal("Cancelled", "Your imaginary file is safe :)", "error");
  }
});

Semua 7 komentar

Saya melihat dalam kode ada parameter doneFunction .

Saya mencoba kode ini tetapi sepertinya panggilan balik saya diabaikan sepenuhnya, apa yang saya lakukan salah?

(new Promise((resolve, reject) => {
  swal({
    title: "Delete data?",
    text: "Deleted data will be lost.",
    type: "warning",
    showCancelButton: true,
    confirmButtonColor: "#DD6B55",
    confirmButtonText: "Delete",
    closeOnConfirm: false,
    html: false,
    doneFunction(res) {
      if (res) {
        resolve();
      } else {
        reject();
      }
    }
  });
})).then(() => console.log("Resolved"), () => console.log("Rejected"))

Hal yang sama untuk saya. Fungsi panggilan balik saya dipanggil ketika tombol ok diklik, tetapi tidak untuk tombol batal.

@jeffmath saya beralih ke https://github.com/limonte/sweetalert2 untuk menyelesaikannya

Anda dapat menemukan contoh cara melakukannya di dokumentasi: http://t4t5.github.io/sweetalert/

"... dan dengan melewatkan parameter, Anda dapat menjalankan sesuatu yang lain untuk 'Batal'."

swal({
  title: "Are you sure?",
  text: "You will not be able to recover this imaginary file!",
  type: "warning",
  showCancelButton: true,
  confirmButtonColor: "#DD6B55",
  confirmButtonText: "Yes, delete it!",
  cancelButtonText: "No, cancel plx!",
  closeOnConfirm: false,
  closeOnCancel: false
},
function(isConfirm){
  if (isConfirm) {
    swal("Deleted!", "Your imaginary file has been deleted.", "success");
  } else {
    swal("Cancelled", "Your imaginary file is safe :)", "error");
  }
});

@t4t5 Melalui isConfirm, kami dapat memeriksa apakah respons pengguna adalah tombol Konfirmasi atau yang lainnya. Tetapi bisakah Anda memberi tahu saya cara memeriksa apakah tombol yang diklik adalah tombol "Konfirmasi" atau tombol "Batal" atau tombol "Tutup" karena saya menggunakan tombol Batal juga untuk mengarahkan ke tempat lain tetapi tombol tutup hanya menutup peringatan?

Masalah sebenarnya adalah bahwa di sweetalert v1.x penangan pembatalan memeriksa panggilan balik yang dimulai dengan function( https://github.com/t4t5/sweetalert/blob/v1.1.3/lib/modules/handle- klik.js#L119.
Jadi jika kondisi itu tidak terpenuhi, seperti contoh @Zorgatone menggunakan doneFunction( callback akan diabaikan.

Tangkapan bagus @gualopezb. Saya sudah memiliki ini bekerja selamanya dan tiba-tiba berhenti bekerja.

Perbaiki:

-    }, (code) => {
+    }, function(code) {

Saya menduga beberapa perubahan dalam konfigurasi Babel saya sedang bermain.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

Lusitaniae picture Lusitaniae  ·  4Komentar

adiwithadidas picture adiwithadidas  ·  4Komentar

blackrosezy picture blackrosezy  ·  6Komentar

mouro001 picture mouro001  ·  3Komentar

krishnamraju picture krishnamraju  ·  3Komentar