gpt4 book ai didi

angular - 使用 Angular Material 表进行多文本搜索

转载 作者:行者123 更新时间:2023-12-01 21:57:29 25 4
gpt4 key购买 nike

搜索目前运行良好。但我对搜索有特定的要求。

STACKBLITZ

假设我需要搜索第一行氢锂,用户应该能够输入以下内容:

*Hy*Li 我应该得到输出氢锂

我该如何实现这一目标?我需要将 * 分解为 array 并根据拆分 *

后的所有搜索项派生搜索

最佳答案

您需要修改filter predicate您的数据源。

示例来自您的 Stackblitz,并根据您的搜索要求 here .

具体:

constructor(private dialog: MatDialog) {
this.dataSource.filterPredicate =
(data: Element, filter: string) => {
const searchArray = filter.split("*");
let filterMatch = true;
let prevIndex = 0;
searchArray.forEach(subString => {
const strIndex = data.name.toLowerCase().indexOf(subString.toLowerCase());
if (strIndex === -1 || strIndex < prevIndex) {
filterMatch = false;
} else {
prevIndex = strIndex;
}
});
return filterMatch;
};
}

(抱歉,这太冗长了 - 当我有时间时会回顾!)

关于angular - 使用 Angular Material 表进行多文本搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60007755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com