diff --git a/packages/components/src/components/form/bal-select/bal-select.tsx b/packages/components/src/components/form/bal-select/bal-select.tsx index d10cb9cb07..3537e8714f 100644 --- a/packages/components/src/components/form/bal-select/bal-select.tsx +++ b/packages/components/src/components/form/bal-select/bal-select.tsx @@ -475,7 +475,9 @@ export class Select implements ComponentInterface, Loggable { const hasOptions = this.options.size > 0 if (hasOptions) { - this.syncRawValue(false) + if (!this.remote) { + this.syncRawValue(isNotHuman) + } } else { this.waitForOptionsAndThenUpdateRawValuesTimer = setTimeout(() => this.waitForOptionsAndThenUpdateRawValues(), 10) } @@ -505,10 +507,10 @@ export class Select implements ComponentInterface, Loggable { } } this.options = new Map(options) - if (!this.remote) { + if (!this.typeahead) { await this.syncNativeInput() } - if (this.didInit) { + if (this.didInit && !this.remote) { this.validateAfterBlur() } } @@ -753,8 +755,8 @@ export class Select implements ComponentInterface, Loggable { private validateAfterBlur(isHuman = isNotHuman) { let newRawValue = this.rawValue - if (this.didInit && !this.multiple && !this.remote) { - if (this.selectionOptional && this.typeahead) { + if (this.didInit && !this.multiple) { + if (this.typeahead && (this.selectionOptional || this.remote)) { const typedOption = findOptionByLabel(this.options, this.inputElement.value) if (typedOption) { newRawValue = [typedOption.value]