这里是一个黑客工具,可能只是为你工作,因为我们正在使用的md-auto-complete
我们目前还没有办法告诉md-auto-complete
对md-not-found
元素的点击添加一个chip
。
hack:通过此指令,我们在窗口上查找click
,然后添加一个新项目作为筹码。
.directive('mdChips', function($timeout) {
return {
restrict: 'E',
require: 'mdChips', // Extends the original mdChips directive
link: function(scope, element, attributes, mdChipsCtrl) {
var mouseUpActions = [];
mdChipsCtrl.onInputBlur = function(event) {
this.inputHasFocus = false;
mouseUpActions.push((function() {
var chipBuffer = this.getChipBuffer();
if (chipBuffer != "") { // REQUIRED, OTHERWISE YOU'D GET A BLANK CHIP
this.appendChip(chipBuffer);
this.resetChipBuffer();
}
}).bind(this));
};
window.addEventListener('click', function(event) {
while (mouseUpActions.length > 0) {
var action = mouseUpActions.splice(0, 1)[0];
$timeout(function() {
$timeout(action);
});
}
}, false);
}
}
})
这里是Codepen。
请确保您以其他人了解的方式提问您的问题并不清楚 – Rishab777
您可以打开此代码簿。当您在文本框中输入文本并按下“Enter”时,将会创建一个新芯片。我只是想:当用户在文本框中输入文本,然后单击“未找到。单击此处添加”对话框 - >它将创建一个新的芯片 - 当用户按Enter时 – user1127692