Handsontable:如何通过容器获取实例?

时间:2017-06-12 11:49:37

标签: javascript handsontable

我需要创建一个函数来执行一些数据更新并重新渲染到handsontalbe(var ht = new Handsontable(el,options))的渲染实例。我可以很容易地得到的是el(用作实例容器的元素)。只知道ht是否可以获得el?或者我必须记住" ht某处可以在以后访问它?

(我已尝试Handsontable(el)并创建了一个新表,但它没有返回已创建的实例)

2 个答案:

答案 0 :(得分:3)

如果你使用jQuery,你应该能够这样做:

// Instead of creating a new Handsontable instance
// with the container element passed as an argument,
// you can simply call .handsontable method on a jQuery DOM object.
var $container = $("#example1");

$container.handsontable({
    data: getData(),
    rowHeaders: true,
    colHeaders: true,
    contextMenu: true
});

// This way, you can access Handsontable api methods by passing their names as an argument, e.g.:
var hotInstance = $("#example1").handsontable('getInstance');

以下是文档链接:https://docs.handsontable.com/pro/1.13.0/demo-jquery.html

答案 1 :(得分:2)

您无法从构建它的DOM元素中获取handsontable对象。 handsontable实例只是一个包装器,它控制DOM元素以供查看,而该元素没有引用它的包装器。

这意味着您确实需要将您的引用存储在ht某处,就像您将其他变量一样。

如果您的问题是作用域,请将表格作为窗口对象的属性,并且可以从页面的任何位置访问它。这可以简单地使用:

window.ht = new Handsontable(el,options)

但是,如果可能的话,避免制作这样的全局变量并将其保持在适当的范围内。