Я использую Laravel Filament и столкнулся с проблемой. У меня есть несколько комплектов, выделенных поставщикам, и я показываю названия комплектов с короткими URL-адресами. Как я могу скопировать только URL-адрес, не копируя другой текст?
public static function infolist(Infolist $infolist): Infolist
{
return $infolist
->schema([
Components\Section::make()
->schema([
Components\Split::make([
Components\Grid::make()
->schema([
Components\TextEntry::make('vendor.name'),
Components\TextEntry::make('kit_ids')->label('Kits Name & URL')
->formatStateUsing(function (KitAllocation $kitAllocation) {
$kitIds = $kitAllocation->kit_ids;
$kits = Kit::whereIn('id', $kitIds)->get();
$output = '';
foreach ($kits as $kit) {
$url = env('APP_URL') . ('/' . $kitAllocation->vendor->slug . '/' . $kit->slug);
$output .= "<li>" . $kit->kit_name . "<br>" . ' -> ' . $url . "</li>";
}
return $output;
})->html()
->copyable(function (KitAllocation $kitAllocation) {
$kitIds = $kitAllocation->kit_ids;
$kits = Kit::whereIn('id', $kitIds)->get();
if ($kits->isNotEmpty()) {
$kit = $kits->first();
return env('APP_URL') . ('/' . $kitAllocation->vendor->slug . '/' . $kit->slug);
}
return '';
}),
]),
])->from('lg'),
]),
]);
}
Мне нужно, чтобы данные отображались примерно так: «**Добро пожаловать в наборы футболок и сумок -> http://127.0.0.1:8000/olio-global-adtech/welcome-t-shirt-bag-pack-kits* *» и скопируйте только URL-адрес определенного текста клика.
Как скопировать только URL-адрес в нити в нескольких комплектах с URL-адресом.
Кто-нибудь поможет мне в этом.






Для этого вы можете использовать метод copyableState() для настройки текста, копируемого в буфер обмена. См. код ниже.
...
->html()
->copyable()
->copyableState(
function (KitAllocation $record) {
$kitAllocation = $record;
$kitIds = $kitAllocation->kit_ids;
$kits = Kit::whereIn('id', $kitIds)->get();
if ($kits->isNotEmpty()) {
$kit = $kits->first();
return env('APP_URL') . ('/' . $kitAllocation->vendor->slug . '/' . $kit->slug);
}
return '';
}),
...
@PradeepKumar Возможно, вам придется опубликовать еще один вопрос с соответствующими фрагментами кода, относящимися к тому, что вы только что спросили меня, чтобы было легче ответить на ваш новый вопрос, а также, если мой ответ полностью решит ваш вопрос, пожалуйста, примите его.
Спасибо, это работает, я забыл о состоянии, но у меня есть еще одна проблема: скопировать только первый URL-адрес. У меня есть список URL-адресов, использующий цикл, и я хочу скопировать URL-адрес при нажатии на любой URL-адрес. можешь мне помочь @Didwiz