When you use Phoenix.Component, you can allow custom global attribute prefixes using the global_prefixes option. The example provided in the docs is exactly my use-case:
use Phoenix.Component, global_prefixes: ~w(x-)
This allows x- attributes, such as those used by Alpine.js, to be passed in to my components without a compiler warning.
Question: Is it possible to allow additional custom attributes for components defined in Phoenix.Component, such as form/1?
I have a reason to place an Alpine.js attribute on the <form> generated by calling <.form>, however this emits a compiler warning:
warning: undefined attribute "x-..." for component Phoenix.Component.form/1
As I see it, my options are:
- Reimplement the
form/1component with the additional prefixes defined, and maintain that reimplementation long-term. - Lose the benefits of
form/1and create<form>elements directly at the callsite.
Is there a better way?






















