问题描述
我有一个剑道多选控件。默认情况下,退格键删除最后选择的项目。因此,我尝试在this kendo doc
之后的键为“ Enter key”时限制用户输入 <kendo-multiselect #multiselect [data]="groupsDataSource"
placeholder="Type Group Id or Group Name"
[filterable]="true"
[textField]="'displayName'"
[valueField]="'id'"
[autoClose]="false"
(filterChange)="handleFilter($event)"
[virtual]="virtual">
</kendo-multiselect>
@ViewChild('multiselect',{ static: false }) public multiselect: MultiSelectComponent;
@ViewChild('multiselect',{ static: false }) public userInput: ElementRef;
ngAfterViewInit() {
this.bindKeyChange();
}
bindKeyChange() {
let searchbar = document.getElementsByClassName("k-searchbar")[0];
let input = searchbar.getElementsByClassName("k-input")[0];
input.addEventListener('keyup',function (event) {
console.log("within input");
if (event.keyCode == 8) {
event.stopImmediatePropagation();
event.preventDefault();
}
});
//let event = new KeyboardEvent('keyup',{ 'bubbles': true });
//this.userInput.nativeElement.dispatchEvent(event);
//this.multiselect.wrapper.nativeElement.dispatchEvent(event);
//this.multiselect.hostElement.children[0].onkeydown(function (e) { // host element is a private property
//console.log('key down');
//})
}
onKeyup(event) {
console.log(event)
}
onKeydown(event) {
console.log(event)
}
这无法将keyup / keydown事件与控件绑定。 我们如何实现这一目标?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)