Browse Source

文内搜索检索短语

natasha 1 year ago
parent
commit
39b1b295ae
1 changed files with 19 additions and 7 deletions
  1. 19 7
      src/views/bookShelf/components/InnerTextSearch.vue

+ 19 - 7
src/views/bookShelf/components/InnerTextSearch.vue

@@ -354,11 +354,23 @@ export default {
         this.searchWord.forEach((searchItem, i) => {
             let SearchwordNumber = 0
             this.resArr.forEach((item) => {
-                item.wordsList.forEach((items) => {
-                    if (items.tokens[4].toLowerCase() == searchItem) {
-                        SearchwordNumber ++
-                        items.color = this.currentcolorValue[i];
-                        items.borderColor = this.currentBorderColorValue[i]
+                item.wordsList.forEach((items,indexs) => {
+                    // 字符串拼接相等即为匹配相同
+                    let searchArr = searchItem.trim().replace(/\s+/g, " ").split(' ')
+                    if (items.tokens[4].toLowerCase() == searchArr[0]) {
+                        let searchStr = ''
+                        let mateStr = ''
+                        searchArr.forEach((itemi,indexi)=>{
+                            searchStr+=itemi.trim()+' '
+                            mateStr+=item.wordsList[indexs+indexi].tokens[4].toLowerCase().trim()+' '
+                        })
+                        if(searchStr===mateStr){
+                            SearchwordNumber ++
+                            searchArr.forEach((itemi,indexi)=>{
+                                item.wordsList[indexs+indexi].color = this.currentcolorValue[i];
+                                item.wordsList[indexs+indexi].borderColor = this.currentBorderColorValue[i]
+                            })
+                        }
                     }
                 });
             });
@@ -772,10 +784,10 @@ export default {
                     font-size: 14px;
                     font-weight: 400;
                     line-height: 22px;
-                    width: 62px;
+                    width: 77px;
                 }
                 span{
-                    width: 35px;
+                    width: 20px;
                     text-align: right;
                 }
                 i{