Tabulator内置list编辑器选中选项时如何调用函数并获取值?
解决Tabulator内置List编辑器选中项触发函数的问题
针对你遇到的List编辑器选中项时无法正确触发函数的问题,有两种可行方案:
方案一:使用编辑器内置的onChange回调
直接在editorParams中添加onChange函数,它会在选中列表选项时立即触发,能直接获取选中的新值:
{ title:"Status", field:"status", editor:"list", editorParams:{ values:{"Active":"Active", "Won":"Won", "Lost":"Lost", "Cancelled":"Cancelled"}, onChange:function(selectedValue, cell){ // selectedValue就是新选中的项的值 CallSomeFunction(selectedValue, cell); } } }
方案二:修复cellEdited触发问题
如果坚持要用cellEdited,先确认你的Tabulator版本是否支持List编辑器选中后自动提交(多数新版本是支持的)。若仍未触发,可尝试监听表格的cellEditCompleted全局事件:
table.on("cellEditCompleted", function(cell){ if(cell.getField() === "status"){ // 仅针对status列 CallSomeFunction(cell.getValue(), cell); } });
说明:
cellClick触发时机是点击单元格时,此时编辑器还未打开,所以会提前触发,不符合需求。onChange是List编辑器专属的回调,精准对应选项选中的动作,是最适配的方案。
内容的提问来源于stack exchange,提问作者Russ
相关产品推荐
相关产品推荐

