1. 概述
1.1 版本
Finereport 版本 |
---|
11.0 |
1.2 應用場景
本文主要匯總使用模糊查詢時經常出現的問題以及解決方案。
1)下拉框/下拉複選框/下拉樹的模糊搜尋邏輯請參考:下拉框/下拉複選框/下拉樹的模糊搜尋。
2)模糊查詢的應用場景及實現思路請參考:模糊查詢。
2. 常見問題及解決方案
2.1 下拉框資料字典資料量大時有效能問題
問題描述:
下拉框資料量大時,操作卡頓。
原因分析:
下拉框資料為非同步載入,一次 500 條,捲動到最後一條時會繼續載入接下來的 500 條,因此下拉框一般不會有載入效能問題。但是模糊搜尋時,由於需要在全部資料中搜尋對應的資料,所以資料量較大時,花費時間也較長,出現效能問題一般都是由於模糊搜尋或者資料字典聯動導致的。
解決方案:
需要手動優化模糊搜尋或者資料字典聯動的相關設定。
2.2 下拉框輸入文字後,用了拼音來模糊搜尋,而不是文字
問題描述:
下拉框輸入文字後,用了拼音來模糊搜尋,而不是文字。下拉框輸入"羊",匹配出來的是發音為"yang"的內容。
原因分析:
部分 win10 自帶輸入法問題。
解決方案:
更換輸入法。
2.3 下拉框模糊查詢的選項為空
問題描述:
範本儲存格內輸入了關鍵詞以後沒有選擇下拉選項,滑鼠點選了其他區域,這個時候再次編輯關鍵詞沒有觸發模糊查詢。
解決方案:
需要點選右側的小三角展開下拉選項。如下圖所示:
2.4 下拉框模糊搜尋慢
問題描述:
大數據量時使用下拉框的模糊搜尋速度會比較慢。
解決方案:
可以藉助文字框先對資料進行一次過濾後,透過元件資料字典聯動的方式再使用下拉框進行模糊搜尋,進而提高速度。可參考:下拉框模糊搜尋慢的解決方案。
2.5 下拉樹模糊查詢慢
問題描述:
下拉樹資料比較多,用模糊查詢的時候下拉樹元件就會載入不出來。
原因分析:
使用普通分層構建時,在資料層級較多的情況下,模糊搜尋會卡頓,搜尋時間較長,可能會導致整個報表系統卡死。
注:11.0.3 及以後,對下拉樹元件模糊搜尋時卡頓的問題做了效能優化,使用者可升級使用。
解決方案:
改用極速分層構建的方式,可以一定程度上優化下拉樹模糊查詢卡頓,並且建議使用一個資料集作為極速分層構建的配置。可參見:下拉樹元件極速分層構建範例 。
2.6 下拉樹模糊搜尋失效
問題描述:
自動構建下拉樹模糊搜尋失效。
原因分析:
發現有幾筆資料超過1個父節點,還有幾個資料的父節點值跟本身一樣。
解決方案:
樹資料集資料不對,並且如果使用自動構建需要根節點為空
2.7 輸入錯誤值後的下拉樹觸發模糊搜尋
問題描述:
下拉樹的模糊搜尋,輸入一個不存在的值後,JS 再傳一個存在的值,會載入不出選項,手動輸入存在值,可以正常載入。
原因分析:
JS 直接傳值沒觸發模糊查詢,所以取到的還是上一次的模糊查詢結果,透過輔助元件或者 reset 方法觸發下。
1)方法一:加一個輔助元件 c,給 c 指派,並觸發 c 的編輯後事件,透過元件之間的聯動來取值,如下圖所示:
JS 程式碼如下:
2)方法二:先 reset 再指派,點選下拉箭頭,選項不會展開,但是取值正常,手動展開,也能看到已經選中了,如下圖所示:
JS 程式碼如下: