La suppression d'une route dans Inertia.js ne peut pas déclencher le rappel onSuccess()
P粉738346380
P粉738346380 2023-12-26 08:57:49
0
1
473

J'ai une route de suppression Inertia.js afin que lorsque je supprime un élément, il soit redirigé vers la page sur laquelle je me trouve. Cependant, cela n’appelle pas la fonction onSuccess() dans la route de destruction Inertia.

示例.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.');

Cependant, le tableau de données n'est pas recréé comme je le souhaite. Voilà à quoi ça ressemblait avant :

Corriger l'image

La situation après

est la suivante :

Erreur d'image

J'ai essayé de changer le code du contrôleur en :

return redirect()->back()->with('success', 'Installer was successfully deleted');

Mais le tableau de données ne s'affiche toujours pas comme il le devrait.

P粉738346380
P粉738346380

répondre à tous(1)
P粉539055526

1 : Configurez la redirection dans le contrôleur à l'aide des données de message.

return redirect()->back()->with([
    'messaage' => 'Installer was successfully deleted',
])

2 : Middleware HandleInertiaRequests.

public function share(Request $request)
{
    return array_merge(parent::share($request), [
        'flash' => [
            'message' => fn () => $request->session()->get('message'),
        ],
    ]);
}

3 : Dans le composant.

<template>
{{ $page.props.flash.message }}
</template>

<script setup>
import { usePage } from '@inertiajs/inertia-vue3'

const message = usePage().props.value.flash.message
</script>

Documentation : https://inertiajs.com/shared-data

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal