Rumah > Soal Jawab > teks badan
Saya mempunyai laluan padam Inertia.js supaya apabila saya memadamkan item, ia mengubah hala semula ke halaman yang saya gunakan. Walau bagaimanapun, ini tidak memanggil fungsi onSuccess() dalam laluan musnah Inersia.
示例.vue
deleteSubmit(id) { this.accountsDataTable.destroy(); Inertia.destroy(route('installers.destroy', {id: id}), {}, { preserveState: true, onSuccess: () => { this.accountsDataTable = $('#table').DataTable({ columnDefs: [{ target: 1 }] }); } }) },
ExampleController.php
//Validate the request //Create the installer //Redirect back on success return redirect()->route('installers.index')->with('success', 'Installer was successfully deleted.');
Walau bagaimanapun, jadual data tidak dicipta semula seperti yang saya mahukan. Inilah rupanya sebelum ini:
Imej yang betul
Keadaan selepasadalah seperti berikut:
Ralat gambar
Saya cuba menukar kod pengawal kepada:
return redirect()->back()->with('success', 'Installer was successfully deleted');
Tetapi jadual data masih tidak memaparkan cara yang sepatutnya.
P粉5390555262023-12-27 00:12:17
1: Sediakan ubah hala dalam pengawal menggunakan data mesej.
return redirect()->back()->with([ 'messaage' => 'Installer was successfully deleted', ])
2: HandleInertiaRequests middleware.
public function share(Request $request) { return array_merge(parent::share($request), [ 'flash' => [ 'message' => fn () => $request->session()->get('message'), ], ]); }
3: Dalam komponen.
<template> {{ $page.props.flash.message }} </template> <script setup> import { usePage } from '@inertiajs/inertia-vue3' const message = usePage().props.value.flash.message </script>
Dokumentasi: https://inertiajs.com/shared-data