我想自定义自动完成的样式和行为以类似于按钮。主要问题是自动完成目前可以在向下箭头、焦点和空白处显示建议。
任何实现这一点的指针?任何可以做到这一点的替代模块?
我想自定义自动完成的样式和行为以类似于按钮。主要问题是自动完成目前可以在向下箭头、焦点和空白处显示建议。
任何实现这一点的指针?任何可以做到这一点的替代模块?
指令 tagsInput 定义为
tagsInput.directive('tagsInput', function($timeout, $document, tagsInputConfig) {
...
return {
restrict: 'E',
require: 'ngModel',
scope: {
tags: '=ngModel',
onTagAdded: '&',
onInvalidTag: '&',
onTagRemoved: '&'
},
replace: false,
transclude: true,
templateUrl: 'ngTagsInput/tags-input.html',
它将ngTagsInput/tags-input.html
作为其模板加载。那么我们来看看这个文件
<input class="input"
ng-model="newTag.text"
ng-change="eventHandlers.input.change(newTag.text)"
ng-keydown="eventHandlers.input.keydown($event)"
ng-focus="eventHandlers.input.focus($event)"
ng-blur="eventHandlers.input.blur($event)"
ng-paste="eventHandlers.input.paste($event)"
ng-trim="false"
ng-class="{'invalid-tag': newTag.invalid}"
ti-bind-attrs="{type: options.type, placeholder: options.placeholder, tabindex: options.tabindex, spellcheck: options.spellcheck}"
ti-autosize>
因此,您可以在ng-click="eventHandlers.input.click($event)"
此处添加自定义操作并在指令中实现点击功能。
自定义样式应该类似。
根据 Rebornix 的回答,我最终使用新的 loadOnClick 参数来分叉和修改自动完成指令,该参数将调用建议列表.load()。
可能需要进行更多微调,但它可以按预期工作。更改提交如下:事件处理程序 - 模板和实现。