vbea 3 éve
szülő
commit
dec9e9b34f
1 módosított fájl, 23 hozzáadás és 15 törlés
  1. 23 15
      Strides-APP/app/components/Dropdown.js

+ 23 - 15
Strides-APP/app/components/Dropdown.js

@@ -36,27 +36,16 @@ export default Dropdown = ({
   const [visible, showDialog] = useState(false);
   const [selected, changeValue] = useState('');
   const [currentIndex, setCurrent] = useState(0);
+  
   useEffect(() => {
     if (value !== selected) {
-      if (nameKey && valueKey) {
-        for (var i = 0; i < list.length; i++) {
-          let item = list[i];
-          if (item[valueKey] == value) {
-            changeValue(prefixText+item[nameKey]+suffixText);
-            if (list.length > 20) {
-              setCurrent(i > 5 ? i - 4 : 0);
-            }
-            break;
-          }
-        }
-      } else {
-        changeValue(prefixText+value+suffixText);
-      }
+      changeItem();
     }
   }, [value, []]);
+
   useEffect(() => {
     if (autoSelect && list.length > 0) {
-      if (!value) {
+      if (value == undefined) {
         const item = list[0];
         /*if (nameKey) {
           changeValue(item[nameKey]);
@@ -66,9 +55,28 @@ export default Dropdown = ({
         if (onChange) {
           onChange(valueKey ? item[valueKey] : item, 0)
         }
+      } else {
+        changeItem();
       }
     }
   }, [list]);
+
+  const changeItem = () => {
+    if (nameKey && valueKey) {
+      for (var i = 0; i < list.length; i++) {
+        let item = list[i];
+        if (item[valueKey] == value) {
+          changeValue(prefixText+item[nameKey]+suffixText);
+          if (list.length > 20) {
+            setCurrent(i > 5 ? i - 4 : 0);
+          }
+          break;
+        }
+      }
+    } else {
+      changeValue(prefixText+value+suffixText);
+    }
+  }
   const showList = () => {
     Keyboard.dismiss();
     showDialog(true);