Table of Content
Template
<tr v-for="(ap, index) in paginatedFilteredApplications" :key="index">
<button class="btn btn-danger btn-sm text-white" @click="deleteApplication(ap.id)"><i class="bi bi-trash-fill"></i></button>
</td>
</tr>Jika di jquery onClick="namaFunc(id) kalau di Vuejs pakai @click="namaFunc(id)".
Logic
import Swal from 'sweetalert2';
export default {
// ...
methods: {
deleteApplication(id){
Swal.fire({
title: 'Konfirmasi',
text: "Yakin ingin menghapus data?",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!'
}).then((result) => {
if (result.isConfirmed) {
axios.delete(`/api/remove`, {
data: {id: id }
})
.then(res => {
Swal.fire({
title: 'Deleted!',
icon: 'success',
text: res.message
});
this.fetchApplications();
}).catch(err => {
Swal.fire({
title: 'Error!',
text: 'Wah parah nih ada masalah!',
icon: 'error'
});
});
}
});
}
}
}Backendnya
public function remove(Request $req){
DB::table('applications')->where('id', $req->id)->delete();
return response()->json(['message' => 'Berhasil menghapus data!']);
}Disini kurang lebih hampir mirip penggunaan axios dengan ajax. Jadi ngga kaget dan lebih ke penyesuaian aja sih…
Date: 25-07-2024