Как изменить содержимое Filament Placeholder в LIVE?

Я использую Филамент 3.2. Как обновить контент-заполнитель в прямом эфире?

Select::make('authors')
    ->relationship('authors', 'name')
    ->live()
    ->afterStateUpdated(function (string $operation, $state, Forms\Set $set, Forms\Get $get) {

    $user = User::find($state[0]);
    if ($user) {
        $userEmail = $user->email;
        $set('authoremail', $userEmail);
    }
    }),

// TextInput::make('authoremail')
//     ->label("Author's Email")
//     ->disabled(),

Placeholder::make('authoremail')

Если это TextInput, то это работает. Но на Placeholder это не работает. Как мне заставить его работать на Placeholder?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
1
0
224
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

https://filamentphp.com/docs/3.x/forms/layout/placeholder#dynamically-generating-placeholder-content

Передав замыкание методу content(), вы можете динамически генерировать заполнитель. [...]

use Filament\Forms\Components\Placeholder;
use Filament\Forms\Get;
 
Placeholder::make('total')
    ->content(function (Get $get): string {
        return '€' . number_format($get('cost') * $get('quantity'), 2);
    })

Поэтому, применяя это к вашему коду, я бы попытался сделать что-то вроде этого:

Select::make('authors')
    ->relationship('authors', 'name')
    ->live(),

Placeholder::make('authoremail')
    ->content(function (Get $get): ?string {
        $user = User::find($get('authors')[0] ?? null);

        return $user?->email;
    }),

Другие вопросы по теме