From 991af25d8716963a5669717dec71fd82443edd2c Mon Sep 17 00:00:00 2001 From: JaySunSyn Date: Thu, 10 Oct 2019 17:22:56 +0200 Subject: [PATCH] fix(form-registrar-mixin): ensure becomesReady called only once --- packages/field/src/FormRegistrarMixin.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/field/src/FormRegistrarMixin.js b/packages/field/src/FormRegistrarMixin.js index c91d03835..be7b8a200 100644 --- a/packages/field/src/FormRegistrarMixin.js +++ b/packages/field/src/FormRegistrarMixin.js @@ -25,6 +25,7 @@ export const FormRegistrarMixin = dedupeMixin( super(); this.formElements = []; this.__readyForRegistration = false; + this.__hasBeenRenedered = false; this.registrationReady = new Promise(resolve => { this.__resolveRegistrationReady = resolve; }); @@ -38,7 +39,9 @@ export const FormRegistrarMixin = dedupeMixin( super.connectedCallback(); } formRegistrarManager.add(this); - formRegistrarManager.becomesReady(this); + if (this.__hasBeenRenedered) { + formRegistrarManager.becomesReady(this); + } } disconnectedCallback() { @@ -57,6 +60,7 @@ export const FormRegistrarMixin = dedupeMixin( this.__resolveRegistrationReady(); this.__readyForRegistration = true; formRegistrarManager.becomesReady(this); + this.__hasBeenRenedered = true; } addFormElement(child) {