bangnokia / filament-radio-card
为 Filament 定制的卡片格式单选组
v0.2.2
2023-12-08 19:27 UTC
Requires
- php: ^8.1|^8.2|^8.3
- filament/forms: ^3.0
- filament/tables: ^3.0
- illuminate/contracts: ^10.0
README
这是一个为 Filament 表单定制的输入,而不是无聊的单选按钮,您可以使用图标来显示它们。这个想法来源于我的产品 ping2.me,用于选择聊天服务提供商。
安装
composer require bangnokia/filament-radio-card
用法
例如,您有一个枚举类,它实现了 Filament 的 HasIcon
特性
use Filament\Support\Contracts\HasColor; use Filament\Support\Contracts\HasIcon; use Filament\Support\Contracts\HasLabel; enum BotProvider: string implements HasLabel, HasIcon { case Telegram = 'telegram'; case Discord = 'discord'; case Slack = 'slack'; public function getLabel(): ?string { return $this->name; } public function getIcon(): ?string { return match ($this) { self::Telegram => 'icon-telegram', self::Discord => 'icon-discord', self::Slack => 'icon-slack', }; } }
然后您可以在表单中使用它,如下所示
RadioCard::make('provider') ->options(BotProvider::class) ->default(BotProvider::Telegram) ->columns(count(BotProvider::cases()))