HandsOnTable 编辑器自定义功能
HandsOnTable editor custom function
我正在使用 HOT 的自动完成编辑器,但需要有我自己的选项列表模板。通过删除默认显示并将其替换为我自己的显示,同时延迟加载其内容,我已经能够做到这一点。但是我需要对每个被点击的选项执行特定的任务。
问题是我无法找到让我的 <a ng-click='doSomething()'>
或 <a onclick = 'doSomething()'>
标签找到我的 "doSomething"
函数的方法。
我已经尝试了自动完成实例的扩展原型,将我的函数放在我的控制器上但无济于事。有什么办法可以在这个编辑器中插入一个可以从我的定制模板中触发的委托函数吗? (使用 angularjs,HOT 版本 0.34)
下拉选项无法解释 HTML 而不是 Headers。
要在选择选项时执行操作,您可以使用 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();
};
}
谢谢,我实际上需要针对每个被点击的区域执行特定操作。我为让它工作所做的是:在为列表插入项目时,我创建了元素并将其立即绑定到函数:liElement = document.createElement('li') .... liElement.onclick = doSomething(){}
....让它以这种方式工作..
我正在使用 HOT 的自动完成编辑器,但需要有我自己的选项列表模板。通过删除默认显示并将其替换为我自己的显示,同时延迟加载其内容,我已经能够做到这一点。但是我需要对每个被点击的选项执行特定的任务。
问题是我无法找到让我的 <a ng-click='doSomething()'>
或 <a onclick = 'doSomething()'>
标签找到我的 "doSomething"
函数的方法。
我已经尝试了自动完成实例的扩展原型,将我的函数放在我的控制器上但无济于事。有什么办法可以在这个编辑器中插入一个可以从我的定制模板中触发的委托函数吗? (使用 angularjs,HOT 版本 0.34)
下拉选项无法解释 HTML 而不是 Headers。
要在选择选项时执行操作,您可以使用 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();
};
}
谢谢,我实际上需要针对每个被点击的区域执行特定操作。我为让它工作所做的是:在为列表插入项目时,我创建了元素并将其立即绑定到函数:liElement = document.createElement('li') .... liElement.onclick = doSomething(){}
....让它以这种方式工作..