我正在使用Angular UI-Select进行自动完成。当用户开始输入时,我希望最佳匹配项显示为水印,当用户按下Tab键时,应该被选中(与Google自动建议相同)。
请参见下图。您可以看到,当我输入“auto”时,“complete”显示为水印,如果我按TAB键,它将被选中。
请参见下图。您可以看到,当我输入“auto”时,“complete”显示为水印,如果我按TAB键,它将被选中。
有一个名为autocompletelikegoogle的bower插件,你可以创建一个Angular指令来在你的应用程序中渲染自动完成输入框。
Directive.js
angular.module('app').directive('autoComplete', [
'$timeout', function($timeout) {
return function(scope, element, attrs) {
var auto;
auto = function() {
$timeout((function() {
if (!scope[attrs.uiItems]) {
auto();
} else {
element.autocomplete({
source: [scope[attrs.uiItems]]
});
}
}), 5);
};
return auto();
};
}
]);
HTML使用示例
<input type="text" auto-complete ui-items="list" ng-model="yourModel" class="form-control" placeholder="Tipe something" />