Laravel – скрытие модального окна с помощью SPAPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Laravel – скрытие модального окна с помощью SPA

Сообщение Anonymous »

Я очень надеюсь, что кто-нибудь сможет мне помочь
Итак, у меня есть проект SPA Laravel и страница продуктов с кнопкой удаления, которая отлично работает. Я использую следующий код. внутри «Index.vue»

Код: Выделить всё

import { ref } from 'vue';
import { Inertia } from '@inertiajs/inertia';
import { Head, Link } from '@inertiajs/vue3';
import ConfirmationModal from '@/Components/ConfirmationModal.vue';

export default {
components: {
ConfirmationModal,
Link
},
props: {
products: Array,
flash: Object,
},
setup(props) {
const showModal = ref(false);
const productIdToDelete = ref(null);
const products = ref(props.products); // Add this line

const showDeleteConfirmation = (id) => {
productIdToDelete.value = id;
showModal.value = true;
};

const confirmDelete = () => {
if (productIdToDelete.value) {
Inertia.delete(`/products/${productIdToDelete.value}`, {
preserveScroll: true,
onFinish: () => {
closeModal();
// Remove the deleted product from the products array
const index = products.value.findIndex(product => product.id === productIdToDelete.value);
if (index !== -1) {
products.value.splice(index, 1);
}
},
});
}
};

const closeModal = () => {
showModal.value = false;
};

return {
showModal,
showDeleteConfirmation,
confirmDelete,
closeModal,
products, // Make sure to return products here
};
},
};
и внутри моего ProductController.php у меня есть

Код: Выделить всё

public function destroy(Product $product)
{
$product->delete();

return response(['id' => $product->id], Response::HTTP_OK);
}
И это здорово: когда я удаляю элемент, он удаляется из списка и сохраняется SPA.
Проблема в том, что когда я это делаю, он отображает модальное окно с помощью (например)

Код: Выделить всё

{"id":92}
что я понимаю, если пройду

Код: Выделить всё

return response(['id' => $product->id], Response::HTTP_OK);
Но я не хочу отображать модальное окно, и если я удалю эту строку, она перезагружает страницу после удаления и убивает SPA
Я Я перепробовал много разных вариантов, но не могу найти, как это отсортировать.
Есть предложения?
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/781 ... l-with-spa
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»