textsms
<div class="row">
<div class="col s12">
<div class="row">
<div class="input-field col s12">
<i class="material-icons prefix">textsms</i>
<input type="text" id="autocomplete-input" class="autocomplete">
<label for="autocomplete-input">Autocomplete</label>
</div>
</div>
</div>
</div>
初始化
数据是一个 json 对象,其中键是匹配字符串,值是可选的图像 url。
document.addEventListener('DOMContentLoaded', function() {
var elems = document.querySelectorAll('.autocomplete');
var instances = M.Autocomplete.init(elems, options);
});
// Or with jQuery
$(document).ready(function(){
$('input.autocomplete').autocomplete({
data: {
"Apple": null,
"Microsoft": null,
"Google": 'https://placehold.it/250x250'
},
});
});
选项
名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
data | 对象 | {} | 定义带有可选图标字符串的自动完成选项的数据对象。 |
limit | 数字 | 无穷大 | 自动完成显示的结果限制。 |
onAutocomplete | 函数 | null | 自动完成时的回调。 |
minLength | 数字 | 1 | 自动完成开始前的最小字符数。 |
sortFunction | 函数 | 定义自动完成选项列表顺序的排序函数。 |
sortFunction
这是默认的比较函数。您可以通过传递具有这 3 个相同参数的函数来编写自己的比较函数。您可以在 此处 了解更多有关比较函数的工作原理。
// Sort function for sorting autocomplete results
function (a, b, inputString) {
return a.indexOf(inputString) - b.indexOf(inputString);
}
要禁用排序并按数据对象中显示的值使用值,请使用错误值。
方法
由于 jQuery 不再是依赖项,因此所有方法都在插件实例上调用。您可以像这样获取插件实例
var instance = M.Autocomplete.getInstance(elem); /* jQuery Method Calls You can still use the old jQuery plugin method calls. But you won't be able to access instance properties. $('.autocomplete').autocomplete('methodName'); $('.autocomplete').autocomplete('methodName', paramName); */
.open();
打开自动完成下拉菜单。
instance.open();
.close();
关闭自动完成下拉菜单。
instance.close();
.selectOption();
选择特定的自动完成选项。
参数
元素:自动完成选项的元素。
instance.selectOption(el);
.updateData();
更新自动完成选项数据。
参数
对象:自动完成选项数据对象。
instance.updateData({
"Apple": null,
"Microsoft": null,
"Google": 'https://placehold.it/250x250'
});
.destroy();
销毁插件实例并拆除
instance.destroy();
属性
名称 | 类型 | 说明 |
---|---|---|
el | 元素 | 用于初始化插件的 DOM 元素。 |
options | 对象 | 实例初始化时使用的选项。 |
isOpen | 布尔值 | 如果自动完成已打开。 |
count | 数字 | 匹配的自动完成选项数。 |
activeIndex | 整数 | 当前选定选项的索引。 |
dropdown | 下拉菜单 | 此自动完成的下拉插件实例。 |