Browse Source

JSY-26063 fix: 前端搜索支持配置大小写敏感

research/test
Renzo 2 years ago
parent
commit
bb7905bf0f
  1. 10
      src/core/func/function.js
  2. 3
      typescript/core/func/function.ts

10
src/core/func/function.js

@ -40,11 +40,13 @@ BI._.extend(BI.Func, {
* @param items
* @param keyword
* @param param 搜索哪个属性
* @param opt 额外配置caseSensitive: 大小写敏感
*/
getSearchResult: function (items, keyword, param) {
getSearchResult: function (items, keyword, param, opt) {
var isArray = BI.isArray(items);
items = isArray ? BI.flatten(items) : items;
param || (param = "text");
opt || (opt = {caseSensitive: false});
if (!BI.isKey(keyword)) {
return {
find: items,
@ -69,8 +71,10 @@ BI._.extend(BI.Func, {
py = BI.makeFirstPY(text, {
splitChar: "\u200b"
});
text = BI.toUpperCase(text);
py = BI.toUpperCase(py);
if (!opt.caseSensitive) {
text = BI.toUpperCase(text);
py = BI.toUpperCase(py);
}
var pidx;
if (text.indexOf(keyword) > -1) {
if (text === keyword) {

3
typescript/core/func/function.ts

@ -13,8 +13,9 @@ export type _function = {
* @param items
* @param keyword
* @param param
* @param opt caseSensitive: 大小写敏感
*/
getSearchResult: (items: any, keyword: any, param?: string) => { find: any[], match: any[] };
getSearchResult: (items: any, keyword: any, param?: string, opt?: {caseSensitive: boolean}) => { find: any[], match: any[] };
/**
* url

Loading…
Cancel
Save