Custom field attributes
Some custom fields does not have these methods, like SpatieTags, FileUpload and Trix, as it could break their functionality.
//Field attribute methods and which config value they correspond to
rootAttr(array $attributes, bool $mergeClasses = true) //field-attribute['root']
beforeAttr(array $attributes, bool $mergeClasses = true) //field-attribute['before']
beforeTextAttr(array $attributes, bool $mergeClasses = true) //field-attribute['before-text']
aboveAttr(array $attributes, bool $mergeClasses = true) //field-attribute['above']
belowAttr(array $attributes, bool $mergeClasses = true) //field-attribute['below']
belowWrapperAttr(array $attributes, bool $mergeClasses = true) //field-attribute['below-wrapper']
afterTextAttr(array $attributes, bool $mergeClasses = true) //field-attribute['after-text']
afterLabelAttr(array $attributes, bool $mergeClasses = true) //field-attribute['after-label']
//custom input attribute
inputAttr(array $attributes) //no value in configinputAttr(array $attributes)
Do NOT set any
wire:model..., use the field->wire()method instead. Otherwise, it will be applied twice.Overrides the
field-attribute['input']in the config file
Merge with config, example
Input::make('Name')->labelAttr('bg-green-300') //merge with config
Input::make('Name')->labelAttr('bg-green-300', false) //replace configAlpine Js example
This is a somewhat ridiculous example just to show the power you have with the inputAttr().
In this example Livewire sets the initial value to 3, then Alpine sets it to 2, and finally Alpine sets it to 10, when the component has finished mounting.
Input pattern format, example
Another Alpine Js example
You can use the methods mentioned on the Styling page to set attributes on other elements.
See another example on the Form Slots page.
Last updated
Was this helpful?