【问题标题】:HandsOnTable editor custom functionHandsOnTable 编辑器自定义功能
【发布时间】:2019-02-04 22:35:51
【问题描述】:

我正在使用 HOT 的自动完成编辑器,但需要有我自己的选项列表模板。我已经能够做到这一点,方法是删除默认显示并将其替换为我自己的,同时对其内容进行延迟加载。但是我需要对每个被点击的选项执行特定的任务。

问题是我找不到让我的<a ng-click='doSomething()'><a onclick = 'doSomething()'> 标签找到我的"doSomething" 函数的方法。

我已经尝试了自动完成实例的扩展原型,将我的功能放在我的控制器上无济于事。有什么方法可以在这个编辑器中插入一个可以从我的定制模板内部触发的委托函数? (使用 angularjs,HOT 版本 0.34)

【问题讨论】:

    标签: angularjs autocomplete handsontable


    【解决方案1】:

    下拉选项不能解释 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();
      };
    }
    

    【讨论】:

      【解决方案2】:

      谢谢,我实际上需要针对每个被点击区域执行的操作。我为使其工作所做的工作是:在为列表插入项目时,我创建了元素并将其立即绑定到函数:liElement = document.createElement('li') .... liElement.onclick = doSomething(){} .... 让它以这种方式工作..

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-28
        • 2014-04-28
        • 2013-07-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多