Explorar el Código

items 不设置默认值

visuddhinanda hace 2 años
padre
commit
d8479a939a
Se han modificado 1 ficheros con 21 adiciones y 15 borrados
  1. 21 15
      dashboard/src/components/general/TermTextAreaMenu.tsx

+ 21 - 15
dashboard/src/components/general/TermTextAreaMenu.tsx

@@ -27,7 +27,7 @@ interface IWidget {
   onSelect?: Function;
 }
 const TermTextAreaMenuWidget = ({
-  items = [],
+  items,
   searchKey = "",
   maxItem = 10,
   visible = false,
@@ -39,24 +39,29 @@ const TermTextAreaMenuWidget = ({
   const [wordList, setWordList] = useState<IWordWithEn[]>();
   const sysTerms = useAppSelector(getTerm);
   console.log("items", items);
+
   useEffect(() => {
+    let parents: string[] = [];
+    let mWords: IWordWithEn[] = [];
     //本句单词
-    const mWords = items?.map((item) => {
-      return {
-        word: item,
-        en: PaliToEn(item),
-      };
-    });
+    if (items) {
+      mWords = items?.map((item) => {
+        return {
+          word: item,
+          en: PaliToEn(item),
+        };
+      });
 
-    //计算这些单词的base
-    let parents: string[] = [];
-    items?.forEach((value) => {
-      getPaliBase(value).forEach((base) => {
-        if (!parents.includes(base) && !items.includes(base)) {
-          parents.push(base);
-        }
+      //计算这些单词的base
+
+      items?.forEach((value) => {
+        getPaliBase(value).forEach((base) => {
+          if (!parents.includes(base) && !items.includes(base)) {
+            parents.push(base);
+          }
+        });
       });
-    });
+    }
 
     const term = sysTerms ? sysTerms?.map((item) => item.word) : [];
     //本句单词parent
@@ -81,6 +86,7 @@ const TermTextAreaMenuWidget = ({
           isTerm: true,
         };
       });
+
     setWordList([...parentTerm, ...mWords, ...sysTerm]);
 
     //此处千万不能加其他dependency 否则会引起无限循环