自动完成

创建允许用户在键入时从预生成值列表中选择的输入。

用法

要应用此组件,请将 .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 事件 在自动完成下拉列表显示时