From 29862e8259e375f159d552fc5951110ec371b3c7 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Wed, 19 Sep 2018 16:46:23 -0400 Subject: [PATCH] fix(select): show placeholder when multiple is empty checks for array length before joining the array into this.text, this prevents the text from being set to an empty string for a multiple value select, allowing the placeholder to show --- core/src/components/select/select.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/core/src/components/select/select.tsx b/core/src/components/select/select.tsx index ad7edaf4da5..e074dd6ca3a 100644 --- a/core/src/components/select/select.tsx +++ b/core/src/components/select/select.tsx @@ -164,7 +164,9 @@ export class Select implements ComponentInterface { } }); - this.text = texts.join(', '); + if (texts.length > 0) { + this.text = texts.join(', '); + } } // emit the new value @@ -248,7 +250,9 @@ export class Select implements ComponentInterface { // fire off an unnecessary change event (this.value as string[]).push(o.value); }); - this.text = checked.map(o => o.textContent).join(', '); + if (checked.map(o => o.textContent).length > 0) { + this.text = checked.map(o => o.textContent).join(', '); + } } else { const checked = this.childOpts.find(o => o.selected); @@ -471,7 +475,7 @@ export class Select implements ComponentInterface { let addPlaceholderClass = false; let selectText = this.selectedText || this.text; - if (selectText === undefined && this.placeholder !== undefined) { + if (selectText == null && this.placeholder != null) { selectText = this.placeholder; addPlaceholderClass = true; }