Radio Component API
The form_radio component is Vue.js driven child component of the matestack_form component and is used to collect user input.
matestack_form my_form_config do
form_radio key: :status, options: { 'active': 1, 'deactive': 0 }, #...
endParameters
key - required
Defines the key which should be used when posting the form data to the server.
options - required
Can either be an Array or Hash:
Array usage
matestack_form my_form_config do
form_radio key: :status, options: [0, 1]
endwill render:
<input id="status_0" name="status_0" type="radio" value="0">
<label for="status_0">
0
</label>
<input id="status_1" name="status_1" type="radio" value="1">
<label for="status_1">
1
</label>Hash usage
will render:
The hash values will be used as values for the options, the keys as displayed values.
ActiveRecord Enum Mapping
If you want to use ActiveRecord enums as options for your radio input, you can use the enum class method:
disabled_values
NOT IMPLEMENTED YET
init
Defines the init value of the radio input. If mapped to an ActiveRecord model, the init value will be derived automatically from the model instance.
Pass in an Integer:
placeholder
Defines the placeholder which will be rendered as first, disabled option.
label
NOT IMPLEMENTED YET
You can also use the label component in order to create a label for this input.
Custom Radio
If you want to create your own radio component, that's easily done since v.1.3.0.
Create your own Ruby component:
app/matestack/components/my_form_radio.rb
Create the corresponding Vue.js component:
Generic code:
app/matestack/components/my_form_radio.js
Don't forget to require and register the custom component JavaScript according to your JS setup!
Finally, use it within a
matestack_form:
Last updated