Skip to content

Commit

Permalink
fix(radio): set default radio value if undefined (#20329)
Browse files Browse the repository at this point in the history
  • Loading branch information
liamdebeasi committed Jan 29, 2020
1 parent 7877ea0 commit eb57723
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 36 deletions.
3 changes: 3 additions & 0 deletions core/src/components/radio/radio.tsx
Expand Up @@ -67,6 +67,9 @@ export class Radio implements ComponentInterface {
@Event() ionBlur!: EventEmitter<void>;

connectedCallback() {
if (this.value === undefined) {
this.value = this.inputId;
}
const radioGroup = this.radioGroup = this.el.closest('ion-radio-group');
if (radioGroup) {
this.updateState();
Expand Down
11 changes: 11 additions & 0 deletions core/src/components/radio/test/radio.spec.ts
@@ -0,0 +1,11 @@
import { Radio } from '../radio.tsx';

describe('ion-radio', () => {
it('should set a default value', async () => {
const radio = new Radio();

await radio.connectedCallback();

expect(radio.value).toEqual('ion-rb-0');
});
});
56 changes: 20 additions & 36 deletions core/src/components/radio/test/standalone/index.html
Expand Up @@ -13,9 +13,9 @@

<body>
<h1>Default</h1>
<ion-radio></ion-radio>
<ion-radio-group>
<ion-radio-group value="radio">
<ion-radio></ion-radio>
<ion-radio value="radio"></ion-radio>
</ion-radio-group>

<h1>Colors: Unchecked</h1>
Expand All @@ -30,49 +30,33 @@ <h1>Colors: Unchecked</h1>
<ion-radio color="dark"></ion-radio>

<h1>Colors: Checked</h1>
<ion-radio-group>
<ion-radio color="primary"></ion-radio>
</ion-radio-group>
<ion-radio-group>
<ion-radio color="secondary"></ion-radio>
</ion-radio-group>
<ion-radio-group>
<ion-radio color="tertiary"></ion-radio>
</ion-radio-group>
<ion-radio-group>
<ion-radio color="success"></ion-radio>
</ion-radio-group>
<ion-radio-group>
<ion-radio color="warning"></ion-radio>
</ion-radio-group>
<ion-radio-group>
<ion-radio color="danger"></ion-radio>
</ion-radio-group>
<ion-radio-group>
<ion-radio color="light"></ion-radio>
</ion-radio-group>
<ion-radio-group>
<ion-radio color="medium"></ion-radio>
</ion-radio-group>
<ion-radio-group>
<ion-radio color="dark"></ion-radio>
<ion-radio-group value="radio">
<ion-radio color="primary" value="radio"></ion-radio>
<ion-radio color="secondary" value="radio"></ion-radio>
<ion-radio color="tertiary" value="radio"></ion-radio>
<ion-radio color="success" value="radio"></ion-radio>
<ion-radio color="warning" value="radio"></ion-radio>
<ion-radio color="danger" value="radio"></ion-radio>
<ion-radio color="light" value="radio"></ion-radio>
<ion-radio color="medium" value="radio"></ion-radio>
<ion-radio color="dark" value="radio"></ion-radio>
</ion-radio-group>

<h1>Disabled</h1>
<ion-radio disabled></ion-radio>
<ion-radio color="secondary" disabled></ion-radio>
<ion-radio-group>
<ion-radio-group value="radio">
<ion-radio disabled></ion-radio>
<ion-radio color="secondary" disabled></ion-radio>
<ion-radio disabled value="radio"></ion-radio>
<ion-radio color="secondary" disabled value="radio"></ion-radio>
</ion-radio-group>

<h1>Custom</h1>
<ion-radio class="custom"></ion-radio>

<ion-radio-group>

<ion-radio-group value="radio">
<ion-radio class="custom"></ion-radio>
<ion-radio class="custom" color="tertiary"></ion-radio>
<ion-radio class="custom-size" color="danger"></ion-radio>
<ion-radio class="custom" value="radio"></ion-radio>
<ion-radio class="custom" color="tertiary" value="radio"></ion-radio>
<ion-radio class="custom-size" color="danger" value="radio"></ion-radio>
</ion-radio-group>

<style>
Expand Down

0 comments on commit eb57723

Please sign in to comment.