Angularjs 具有md自动完成功能的角度材质md芯片:未找到事件md无法与md转换芯片一起工作
我正在使用Angular Material v1.0.7,我在使用md芯片时遇到问题: 在md芯片中,我使用md自动完成(…)。以下是我的情况: -当用户在md自动完成中输入vaue时,如果没有项目,用户可以按Enter键创建新芯片。另一种方式是,如果没有项目,md not found将显示“没有适合的项目,请单击此处添加新项目”。在控制器中,我可以捕捉到当用户单击文本“没有适合的项目,单击此处添加新项目”时的事件。但当我调用函数md转换芯片时(我希望我的用户单击文本“没有适合的项目,单击此处添加新项目”与按Enter键相同),它不起作用 这是代码笔:Angularjs 具有md自动完成功能的角度材质md芯片:未找到事件md无法与md转换芯片一起工作,angularjs,angular-material,Angularjs,Angular Material,我正在使用Angular Material v1.0.7,我在使用md芯片时遇到问题: 在md芯片中,我使用md自动完成(…)。以下是我的情况: -当用户在md自动完成中输入vaue时,如果没有项目,用户可以按Enter键创建新芯片。另一种方式是,如果没有项目,md not found将显示“没有适合的项目,请单击此处添加新项目”。在控制器中,我可以捕捉到当用户单击文本“没有适合的项目,单击此处添加新项目”时的事件。但当我调用函数md转换芯片时(我希望我的用户单击文本“没有适合的项目,单击此处添
codepen.io/DieuNQ/pen/oxoNVe?editors=1010
有什么想法吗
谢谢这里有一个可能适合您的黑客程序,因为我们正在使用
md auto complete
我们目前没有办法告诉md auto complete
在单击md not found
元素时添加芯片
hack:根据这个指令,我们在窗口中查找点击,然后添加一个新项目作为芯片
.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);
}
}
})
这是答案。请确保您的提问方式在您的问题不清楚时其他人都能理解。您可以打开此代码笔。当您在文本框中输入文本并按“回车”键时,将创建一个新芯片。我只想:当用户在文本框中输入文本并单击“找不到。单击此处添加”对话框-->时,当用户按EnterHi@Rishab777:谢谢时,它将创建一个新的芯片。成功了。只有一个问题:在文本框中插入-->单击外侧-->单击文本,然后将文本添加到新芯片中。我有另一个解决方案:当用户单击“未找到对话框”时,我们触发事件键并按Enter键。看起来这个解决方案更好。然而,我今天试过了,但没有成功。但是我认为它应该会起作用。你能稍微修改一下并做需要的事情吗?但是我觉得上面的指令应该符合你的要求。将问题标记为已回答并结束问题。