#Introduction
The key-value entry allows you to render key-value pairs of data, from a one-dimensional JSON object / PHP array.
use Filament\Infolists\Components\KeyValueEntry;
KeyValueEntry::make('meta')
For example, the state of this entry might be represented as:
[
'description' => 'Filament is a collection of Laravel packages',
'og:type' => 'website',
'og:site_name' => 'Filament',
]
If you're saving the data in Eloquent, you should be sure to add an array cast to the model property:
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
/**
* @return array<string, string>
*/
protected function casts(): array
{
return [
'meta' => 'array',
];
}
// ...
}
#Customizing the key column's label
You may customize the label for the key column using the keyLabel() method:
use Filament\Infolists\Components\KeyValueEntry;
KeyValueEntry::make('meta')
->keyLabel('Property name')
As well as allowing a static value, the keyLabel() method also accepts a function to dynamically calculate it. You can inject various utilities into the function as parameters.
keyLabel() method also accepts a function to dynamically calculate it. You can inject various utilities into the function as parameters.-
Entry
$componentFilament\Infolists\ Components\ Entry The current entry component instance.
-
Get function
$getFilament\Schemas\ Components\ Utilities\ Get A function for retrieving values from the current schema data. Validation is not run on form fields.
-
Livewire
$livewireLivewire\Component The Livewire component instance.
-
Eloquent model FQN
$model?string<Illuminate\Database\ Eloquent\ Model> The Eloquent model FQN for the current schema.
-
Operation
$operationstring The current operation being performed by the schema. Usually
create,edit, orview.-
Parent repeater item index
$parentRepeaterItemIndexint The zero-based index of the nearest containing repeater item or builder block, or
0when neither exists.-
Eloquent record
$record?Illuminate\Database\ Eloquent\ Model The Eloquent record for the current schema.
-
State
$statemixed The current value of the entry.
#Customizing the value column's label
You may customize the label for the value column using the valueLabel() method:
use Filament\Infolists\Components\KeyValueEntry;
KeyValueEntry::make('meta')
->valueLabel('Property value')
As well as allowing a static value, the valueLabel() method also accepts a function to dynamically calculate it. You can inject various utilities into the function as parameters.
valueLabel() method also accepts a function to dynamically calculate it. You can inject various utilities into the function as parameters.-
Entry
$componentFilament\Infolists\ Components\ Entry The current entry component instance.
-
Get function
$getFilament\Schemas\ Components\ Utilities\ Get A function for retrieving values from the current schema data. Validation is not run on form fields.
-
Livewire
$livewireLivewire\Component The Livewire component instance.
-
Eloquent model FQN
$model?string<Illuminate\Database\ Eloquent\ Model> The Eloquent model FQN for the current schema.
-
Operation
$operationstring The current operation being performed by the schema. Usually
create,edit, orview.-
Parent repeater item index
$parentRepeaterItemIndexint The zero-based index of the nearest containing repeater item or builder block, or
0when neither exists.-
Eloquent record
$record?Illuminate\Database\ Eloquent\ Model The Eloquent record for the current schema.
-
State
$statemixed The current value of the entry.