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

Fix checkbox list reactivity issue

jnfrati 4 лет назад
Родитель
Сommit
d237b148ec

+ 5 - 5
dashboard/src/components/form-components/CheckboxList.tsx

@@ -10,12 +10,12 @@ type PropsType = {
 
 const CheckboxList = ({ label, options, selected, setSelected }: PropsType) => {
   let onSelectOption = (option: { value: string; label: string }) => {
-    if (!selected.includes(option)) {
-      selected.push(option);
-      setSelected(selected);
+    const tmp = [...selected];
+    if (!tmp.includes(option)) {
+      setSelected([...tmp, option]);
     } else {
-      selected.splice(selected.indexOf(option), 1);
-      setSelected(selected);
+      tmp.splice(tmp.indexOf(option), 1);
+      setSelected(tmp);
     }
   };
 

+ 1 - 0
dashboard/src/main/home/provisioner/AWSFormSection.tsx

@@ -431,6 +431,7 @@ const AWSFormSectionFC: React.FC<PropsType> = (props) => {
           selected={selectedInfras}
           setSelected={(x: { value: string; label: string }[]) => {
             setIsFormDirty(true);
+            console.log(x);
             setSelectedInfras(x);
           }}
         />

+ 1 - 1
dashboard/src/main/home/provisioner/ProvisionerSettings.tsx

@@ -44,7 +44,7 @@ const ProvisionerSettings: React.FC<Props> = ({
 
   const handleSelectProvider = (newSelectedProvider: string) => {
     if (!isInNewProject) {
-      setSelectedProvider(selectedProvider);
+      setSelectedProvider(newSelectedProvider);
       return;
     }
     if (newSelectedProvider === selectedProvider) {