Данные ссылки в Inertia
Давайте рассмотрим ситуацию, когда при переходе на экран поиска нужно сразу передать выбранный фильтр, а не собирать его только на целевой странице.
Атрибут data у Link
прикладывает объект к визиту.
Клиент отправляет эти поля
вместе с запросом на адрес
из href, и Laravel
может прочитать их из запроса
так же, как при обычной форме
или программном визите.
Давайте примем фильтр и отдадим заголовок списка:
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use Inertia\Inertia;
Route::get('/posts/search', function (Request $request) {
$filter = $request->input('filter', 'all');
return Inertia::render('Posts/Search', [
'title' => 'Search',
'filter' => $filter,
]);
});
?>
Давайте повесим на ссылку объект с полем фильтра:
<script setup>
import { Link } from '@inertiajs/vue3'
</script>
<template>
<h1>Posts</h1>
<Link
href="/posts/search"
:data="{ filter: 'published' }"
>
Published only
</Link>
</template>
Сделайте с экрана работника
Helen переход на список
смен с полем shift
и значением night
в запросе.