Przeglądaj źródła

add state to control alert display

yohei0125 4 lat temu
rodzic
commit
ef79b8b7ea

+ 3 - 1
packages/app/src/components/Common/ClosableTextInput.tsx

@@ -30,6 +30,7 @@ const ClosableTextInput: FC<ClosableTextInputProps> = memo((props: ClosableTextI
 
 
   const [inputText, setInputText] = useState(props.value);
   const [inputText, setInputText] = useState(props.value);
   const [currentAlertInfo, setAlertInfo] = useState<AlertInfo | null>(null);
   const [currentAlertInfo, setAlertInfo] = useState<AlertInfo | null>(null);
+  const [isAbleToShowAlert, setIsAbleToShowAlert] = useState<boolean>(false);
 
 
   const createValidation = async(inputText: string) => {
   const createValidation = async(inputText: string) => {
     if (props.inputValidator != null) {
     if (props.inputValidator != null) {
@@ -42,6 +43,7 @@ const ClosableTextInput: FC<ClosableTextInputProps> = memo((props: ClosableTextI
     const inputText = e.target.value;
     const inputText = e.target.value;
     createValidation(inputText);
     createValidation(inputText);
     setInputText(inputText);
     setInputText(inputText);
+    setIsAbleToShowAlert(true);
   };
   };
 
 
   const onFocusHandler = async(e: React.ChangeEvent<HTMLInputElement>) => {
   const onFocusHandler = async(e: React.ChangeEvent<HTMLInputElement>) => {
@@ -119,7 +121,7 @@ const ClosableTextInput: FC<ClosableTextInputProps> = memo((props: ClosableTextI
         onBlur={onBlurHandler}
         onBlur={onBlurHandler}
         autoFocus={false}
         autoFocus={false}
       />
       />
-      <AlertInfo />
+      {isAbleToShowAlert && <AlertInfo />}
     </div>
     </div>
   );
   );
 });
 });