自动完成
创建允许用户在键入时从预生成值列表中选择的输入。
用法
要应用此组件,请将 .uk-autocomplete
类添加到 <div>
元素中,该元素围绕一个 input
元素。 要为自动完成输入启用必要的 JavaScript,您还需要添加 data-uk-autocomplete
属性。 将 {source:'PATH/TO/RESULTS'}
添加到数据属性,并设置自动完成列表的路径,该列表需要以 JSON 格式格式化 (示例)。将注入 下拉组件中的下拉列表以显示自动完成建议。您甚至可以使用键盘的向上和向下键在下拉列表中导航。
示例
注意 输入汉堡、纽约、莫斯科或阿姆斯特丹。
标记
<div class="uk-autocomplete uk-form" data-uk-autocomplete="{source:'my-autocomplete.json'}">
<input type="text">
</div>
自定义模板
您还可以创建自定义模板以不同的方式显示结果。
示例
标记
<div class="uk-autocomplete uk-form" data-uk-autocomplete="{source:'my-autocomplete.json'}">
<input type="text">
<script type="text/autocomplete">
<ul class="uk-nav uk-nav-autocomplete uk-autocomplete-results">
{{~items}}
<li data-value="{{ $item.value }}">
<a>
{{ $item.title }}
<div>{{{ $item.text }}}</div>
</a>
</li>
{{/items}}
</ul>
</script>
</div>
JavaScript 选项
选项 | 可能的值 | 默认值 | 描述 |
---|---|---|---|
source |
url, 数组, 回调函数 | [] | 数据源 |
minLength |
整数 | 3 | 触发自动完成之前输入的最小长度 |
param |
字符串 | search | 发送 ajax 请求时的查询名称 |
delay |
整数 | 300 | 停止输入后的延迟时间 |
flipDropdown |
布尔值 | false | 翻转结果下拉列表 |
手动初始化元素
var autocomplete = UIkit.autocomplete(element, { /* options */ });
事件
名称 | 参数 | 描述 |
---|---|---|
selectitem.uk.autocomplete |
event, data, acobject | 选择项目时 |
show.uk.autocomplete |
事件 | 在自动完成下拉列表显示时 |