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>;
|
||||
|
||||
connectedCallback() {
|
||||
if (this.value === undefined) {
|
||||
this.value = this.inputId;
|
||||
}
|
||||
const radioGroup = this.radioGroup = this.el.closest('ion-radio-group');
|
||||
if (radioGroup) {
|
||||
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>
|
||||
<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>
|
||||
@ -30,49 +30,33 @@
|
||||
<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>
|
||||
|
Reference in New Issue
Block a user