Просмотр исходного кода

Show empty string if dropdown item value is empty

If a dropdown item has no label, the value is used.
If it also has no value, an empty string is used.

Previously if it had no label and no value `[object Object]` was
displayed.
Sergiu Miclea 7 лет назад
Родитель
Сommit
233004571d
1 измененных файлов с 8 добавлено и 2 удалено
  1. 8 2
      src/components/molecules/Dropdown/Dropdown.jsx

+ 8 - 2
src/components/molecules/Dropdown/Dropdown.jsx

@@ -249,7 +249,13 @@ class Dropdown extends React.Component<Props, State> {
       return this.props.noSelectionMessage
     }
 
-    return (item[labelField] != null && item[labelField].toString()) || (item.value && item.value.toString()) || item.toString()
+    if (item[labelField] != null) {
+      return item[labelField].toString()
+    }
+    if (item.value != null) {
+      return item.value.toString()
+    }
+    return item.toString()
   }
 
   getValue(item: any) {
@@ -420,7 +426,7 @@ class Dropdown extends React.Component<Props, State> {
                   />
                 ) : null}
                 <Labels>
-                  {label}
+                  {label === '' ? '\u00A0' : label}
                   {duplicatedLabel ? <DuplicatedLabel> (<span>{value || ''}</span>)</DuplicatedLabel> : ''}
                 </Labels>
               </ListItem>