我正在使用HOT的自动完成编辑器,但需要具有自己的选项列表模板。我可以做到这一点,方法是删除默认显示并用我自己的默认显示替换,同时延迟加载其内容。但是我需要对每个被单击的选项执行特定的任务。
问题是我找不到找到<a ng-click='doSomething()'>
功能的<a onclick = 'doSomething()'>
或"doSomething"
标签的方法。
我尝试了自动完成实例的扩展原型,将我的函数放在控制器上毫无用处。有什么方法可以在此编辑器中插入可以从定制模板内部触发的委托函数? (使用angularjs,HOT版本0.34)
答案 0 :(得分:0)
Dropdown选项无法解释HTML而不是标题。
要在选择选项时执行操作,可以使用Handsontable回调:AfterChange或BeforeChange 在这里您可以找到所有HOT回调https://docs.handsontable.com/0.34.0/tutorial-using-callbacks.html
此JSFiddle可以帮助您http://jsfiddle.net/fsvakoLa/
beforeChange: function(source, changes){
console.log(source, changes)
},
afterChange: function(source, changes){
console.log(source, changes);
if(!source) return;
if(source[0][1] == 0){//if ocurs on col 0
let newsource = optionsWBS[source[0][3]];
cols[1] = {
type : 'dropdown',
source: newsource,
strict: false
};
hot.updateSettings({columns: cols});
hot.render();
};
}
答案 1 :(得分:0)
谢谢,我实际上需要针对每个要单击的区域执行操作。我要做的是这样的:在为列表插入项目时,我创建了元素并将其立即绑定到函数:l iElement = document.createElement('li') .... liElement.onclick = doSomething(){}
....使它以这种方式工作.. >