Skip to content

Commit b7995e4

Browse files
abhiomkarcopybara-github
authored andcommitted
fix(radio): Register selection controller after update complete.
PiperOrigin-RevId: 332112768
1 parent 63a5f08 commit b7995e4

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

packages/radio/mwc-radio-base.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ export class RadioBase extends FormElement {
7777
this.requestUpdate('checked', oldValue);
7878

7979
// useful when unchecks self and wrapping element needs to synchronize
80+
// TODO(b/168543810): Remove triggering event on programmatic API call.
8081
this.dispatchEvent(new Event('checked', {bubbles: true, composed: true}));
8182
}
8283

packages/radio/single-selection-controller.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,12 @@ export class SingleSelectionController {
266266
* @param element Element to register. Registers in set of `element.name`.
267267
*/
268268
register(element: CheckableElement) {
269-
const set = this.getSet(element.name);
269+
// TODO(b/168546148): Remove accessing 'name' via getAttribute() when new
270+
// base class is created without single selection controller. Component
271+
// maybe booted up after it is connected to DOM in which case properties
272+
// (including `name`) are not updated yet.
273+
const name = element.name || element.getAttribute('name') || '';
274+
const set = this.getSet(name);
270275
set.set.add(element);
271276
set.ordered = null;
272277
}

0 commit comments

Comments
 (0)