mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-19 19:57:22 +08:00
fix(radio): set default radio value if undefined (#20329)
This commit is contained in:
@ -67,6 +67,9 @@ export class Radio implements ComponentInterface {
|
|||||||
@Event() ionBlur!: EventEmitter<void>;
|
@Event() ionBlur!: EventEmitter<void>;
|
||||||
|
|
||||||
connectedCallback() {
|
connectedCallback() {
|
||||||
|
if (this.value === undefined) {
|
||||||
|
this.value = this.inputId;
|
||||||
|
}
|
||||||
const radioGroup = this.radioGroup = this.el.closest('ion-radio-group');
|
const radioGroup = this.radioGroup = this.el.closest('ion-radio-group');
|
||||||
if (radioGroup) {
|
if (radioGroup) {
|
||||||
this.updateState();
|
this.updateState();
|
||||||
|
11
core/src/components/radio/test/radio.spec.ts
Normal file
11
core/src/components/radio/test/radio.spec.ts
Normal file
@ -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');
|
||||||
|
});
|
||||||
|
});
|
@ -13,9 +13,9 @@
|
|||||||
|
|
||||||
<body>
|
<body>
|
||||||
<h1>Default</h1>
|
<h1>Default</h1>
|
||||||
<ion-radio></ion-radio>
|
<ion-radio-group value="radio">
|
||||||
<ion-radio-group>
|
|
||||||
<ion-radio></ion-radio>
|
<ion-radio></ion-radio>
|
||||||
|
<ion-radio value="radio"></ion-radio>
|
||||||
</ion-radio-group>
|
</ion-radio-group>
|
||||||
|
|
||||||
<h1>Colors: Unchecked</h1>
|
<h1>Colors: Unchecked</h1>
|
||||||
@ -30,49 +30,33 @@
|
|||||||
<ion-radio color="dark"></ion-radio>
|
<ion-radio color="dark"></ion-radio>
|
||||||
|
|
||||||
<h1>Colors: Checked</h1>
|
<h1>Colors: Checked</h1>
|
||||||
<ion-radio-group>
|
<ion-radio-group value="radio">
|
||||||
<ion-radio color="primary"></ion-radio>
|
<ion-radio color="primary" value="radio"></ion-radio>
|
||||||
</ion-radio-group>
|
<ion-radio color="secondary" value="radio"></ion-radio>
|
||||||
<ion-radio-group>
|
<ion-radio color="tertiary" value="radio"></ion-radio>
|
||||||
<ion-radio color="secondary"></ion-radio>
|
<ion-radio color="success" value="radio"></ion-radio>
|
||||||
</ion-radio-group>
|
<ion-radio color="warning" value="radio"></ion-radio>
|
||||||
<ion-radio-group>
|
<ion-radio color="danger" value="radio"></ion-radio>
|
||||||
<ion-radio color="tertiary"></ion-radio>
|
<ion-radio color="light" value="radio"></ion-radio>
|
||||||
</ion-radio-group>
|
<ion-radio color="medium" value="radio"></ion-radio>
|
||||||
<ion-radio-group>
|
<ion-radio color="dark" value="radio"></ion-radio>
|
||||||
<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>
|
</ion-radio-group>
|
||||||
|
|
||||||
<h1>Disabled</h1>
|
<h1>Disabled</h1>
|
||||||
<ion-radio disabled></ion-radio>
|
<ion-radio-group value="radio">
|
||||||
<ion-radio color="secondary" disabled></ion-radio>
|
|
||||||
<ion-radio-group>
|
|
||||||
<ion-radio disabled></ion-radio>
|
<ion-radio disabled></ion-radio>
|
||||||
<ion-radio color="secondary" 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>
|
</ion-radio-group>
|
||||||
|
|
||||||
<h1>Custom</h1>
|
<h1>Custom</h1>
|
||||||
<ion-radio class="custom"></ion-radio>
|
|
||||||
|
<ion-radio-group value="radio">
|
||||||
<ion-radio-group>
|
|
||||||
<ion-radio class="custom"></ion-radio>
|
<ion-radio class="custom"></ion-radio>
|
||||||
<ion-radio class="custom" color="tertiary"></ion-radio>
|
<ion-radio class="custom" value="radio"></ion-radio>
|
||||||
<ion-radio class="custom-size" color="danger"></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>
|
</ion-radio-group>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
Reference in New Issue
Block a user