lion/packages/radio-group
2020-02-10 18:26:10 +01:00
..
src feat: flatten modelValue and remove checkedValue 2020-02-06 16:06:52 +01:00
stories feat: flatten modelValue and remove checkedValue 2020-02-06 16:06:52 +01:00
test feat: flatten modelValue and remove checkedValue 2020-02-06 16:06:52 +01:00
CHANGELOG.md chore: release new versions 2020-02-10 14:21:07 +00:00
index.js feat: release inital public lion version 2019-04-26 10:37:57 +02:00
lion-radio-group.js feat: release inital public lion version 2019-04-26 10:37:57 +02:00
package.json chore: release new versions 2020-02-10 14:21:07 +00:00
README.md fix(checkbox-group): throw if name does not contain [] 2020-02-10 18:26:10 +01:00

Radio-group

lion-radio-group component is webcomponent that enhances the functionality of the native <input type="radio"> element. Its purpose is to provide a way for users to check a single option amongst a set of choices.

You should use lion-radio's inside this element.

Live Demo/Documentation

See our storybook for a live demo and API documentation

How to use

Installation

npm i --save @lion/radio @lion/radio-group
import '@lion/radio/lion-radio.js';
import '@lion/radio-group/lion-radio-group.js';

Example

<lion-radio-group name="dinos" label="What are your favourite dinosaurs?">
  <lion-radio label="allosaurus" .choiceValue=${'allosaurus'}></lion-radio>
  <lion-radio label="brontosaurus" .choiceValue=${'brontosaurus'}></lion-radio>
  <lion-radio label="diplodocus" .choiceValue=${'diplodocus'} checked></lion-radio>
</lion-radio-group>
  • Make sure that to use a name attribute as it is necessary for the lion-form's serialization result.
  • If you have many options for a user to pick from, consider using lion-select instead

Model value

The modelValue of a lion-radio-group is string equal to the choiceValue of the lion-radio element that has been checked.

Given the dinosaur example above, say that we were to select the last option (diplodocus).

Then the modelValue of the lion-radio-group will look as follows:

const groupElement = [parent].querySelector('lion-radio-group');
groupElement.modelValue;
  => "diplodocus";

The name attribute

The name attribute of a lion-radio-group automatically gets assigned to its lion-radio children. You can also specify names for the lion-radio elements, but if this name is different from the name assigned to lion-radio-group, then an exception will be thrown.

Our recommendation would be to set the name attribute only on the lion-radio-group and not on the lion-checkbox elements.