Ton*_*lic 5 string search autocomplete material angularjs
https://material.angularjs.org/latest/#/demo/material.components.autocomplete
请有人告诉我如何使自动填充(Angular材料)不仅在单词的开头,而且在单词中的任何位置搜索字符串.
例如,Alabama这个词:键入"Ala"时工作,但键入"bama"时不起作用.当我输入"bama"时,如何让它工作?
我知道我可以使用第三方指令,例如Angucomplete Alt:http://ghiden.github.io/angucomplete-alt/ 但我认为Angular材料应该有这个选项吗?
这是原始md-autocomplete中的一个函数:
function createFilterFor(query) {
var lowercaseQuery = angular.lowercase(query);
return function filterFn(state) {
return (state.value.indexOf(lowercaseQuery) === 0);
};
}
Run Code Online (Sandbox Code Playgroud)
请尝试稍微改变一下条件,如下所示:
return (state.value.indexOf(lowercaseQuery) >= 0);
Run Code Online (Sandbox Code Playgroud)
它应该按照你想要的方式工作.
由于指定了插入标志,该演示仅匹配结果开头的字符,即:md-highlight-flags="^i"
要允许自动完成功能找到任何匹配的字符,您应该使用全局标志,即:md-highlight-flags="gi"
您还需要将state.value.indexOf(lowercaseQuery) === 0filterFn 函数中的行更改为state.value.indexOf(lowercaseQuery) !== -1
检查此 codepen 的工作示例: http ://codepen.io/DevVersion/pen/KrOYoG
| 归档时间: |
|
| 查看次数: |
2670 次 |
| 最近记录: |