ソースを参照

Merge pull request #6303 from wenzhixin/fix/6285

fix/6285
Dustin Utecht 3 年 前
コミット
5986c5cefe
1 ファイル変更12 行追加1 行削除
  1. 12 1
      src/bootstrap-table.js

+ 12 - 1
src/bootstrap-table.js

@@ -1599,7 +1599,18 @@ class BootstrapTable {
 
       if (column.searchable && this.searchText && this.options.searchHighlight && !(column.checkbox || column.radio)) {
         let defValue = ''
-        const regExp = new RegExp(`(${this.searchText.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')})`, 'gim')
+        let searchText = this.searchText.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
+
+        if (this.options.searchAccentNeutralise) {
+          const indexRegex = new RegExp(`${Utils.normalizeAccent(searchText)}`, 'gmi')
+          const match = indexRegex.exec(Utils.normalizeAccent(value))
+
+          if (match) {
+            searchText = value.substring(match.index, match.index + searchText.length);
+          }
+        }
+
+        const regExp = new RegExp(`(${searchText})`, 'gim')
         const marker = '<mark>$1</mark>'
         const isHTML = value && /<(?=.*? .*?\/ ?>|br|hr|input|!--|wbr)[a-z]+.*?>|<([a-z]+).*?<\/\1>/i.test(value)