Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 制表器表未正确查看_Javascript_Jquery_Html_Tabulator - Fatal编程技术网

Javascript 制表器表未正确查看

Javascript 制表器表未正确查看,javascript,jquery,html,tabulator,Javascript,Jquery,Html,Tabulator,我有一个按钮,当按钮点击将显示表(制表器),但问题是,当按钮点击,表不能正确显示,表是视图,但内容是不显示,我需要像调整窗口大小或按F12触发行动显示内容 单击按钮时,不显示任何内容 按F12键时,内容视图中缺少标题(红线) 当我尝试在JSFIDLE中进行测试时,会显示标题,但不会显示内容(需要调整窗口大小以显示数据) 我尝试的是这样的: $(文档)。在('click','#testing',function()上{ $(“#示例表”).show(); }); //定义一些示例数据 var

我有一个按钮,当按钮点击将显示表(制表器),但问题是,当按钮点击,表不能正确显示,表是视图,但内容是不显示,我需要像调整窗口大小或按F12触发行动显示内容

单击按钮时,不显示任何内容

按F12键时,内容视图中缺少标题(红线)

当我尝试在JSFIDLE中进行测试时,会显示标题,但不会显示内容(需要调整窗口大小以显示数据)

我尝试的是这样的:
$(文档)。在('click','#testing',function()上{
$(“#示例表”).show();
});
//定义一些示例数据
var表格数据=[
{id:1,姓名:“奥利·鲍勃”,年龄:“12”,上校:“红色”,出生日期:},
{id:2,姓名:“玛丽·梅”,年龄:“1”,上校:“蓝色”,出生日期:“14/05/1982”},
{id:3,姓名:“克里斯蒂娜·洛博斯基”,年龄:“42”,上校:“格林”,国防部:“22/05/1982”},
{id:4,姓名:“Brendon Philips”,年龄:“125”,上校:“橙色”,出生日期:“1980年8月1日”},
{id:5,姓名:“Margret Marmajuke”,年龄:“16岁”,上校:“黄色”,出生日期:“31/01/1999”},
];
//在id为“example table”的DOM元素上创建制表器
var table=新制表器(“示例表”{
height:205,//设置表的高度(在CSS中或此处),这将启用虚拟DOM并显著提高渲染速度(可以是任何有效的CSS高度值)
data:tabledata,//将数据分配给表
布局:“fitColumns”,//根据表格宽度调整列(可选)
列:[//定义表列
{标题:“名称”,字段:“名称”,宽度:150},
{标题:“年龄”,字段:“年龄”,对齐:“左”,格式化程序:“进度”},
{标题:“喜爱的颜色”,字段:“颜色”},
{标题:“出生日期”,字段:“dob”,分拣机:“日期”,对齐:“中心”},
],
rowClick:函数(e,row){//单击行时触发警报消息
警报(“Row”+Row.getData().id+”已单击!!!!);
},
});

点击这个按钮!!

这可能是因为您正在创建隐藏的表。制表器在绘制时必须可见,因为虚拟DOM需要计算组成表的元素的长度,以便正确布局表。DOM元素在第一次被设置为visisble之前没有维度,这可能会导致表中的某些损坏

解决这一问题的最简单方法是在表上的redraw函数显示后立即调用它

table.redraw(true);
制表器网站上的中详细介绍了此主题


在Chrome中不会发生这种情况的原因是Chrome实现了ES8 ResizeObserver功能,Tabletor可以使用该功能来确定表格何时更改形状或变得可见。此功能在其他浏览器中尚不可用。

这可能是因为您正在创建隐藏的表。制表器在绘制时必须可见,因为虚拟DOM需要计算组成表的元素的长度,以便正确布局表。DOM元素在第一次被设置为visisble之前没有维度,这可能会导致表中的某些损坏

解决这一问题的最简单方法是在表上的redraw函数显示后立即调用它

table.redraw(true);
制表器网站上的中详细介绍了此主题

在Chrome中不会发生这种情况的原因是Chrome实现了ES8 ResizeObserver功能,Tabletor可以使用该功能来确定表格何时更改形状或变得可见。此功能在其他浏览器中尚不可用。

我猜
table.redraw(true)适用于制表器4.0及更高版本,如果您有较低版本的制表器,请使用
table.redraw()。
在升级到第4版之前,我使用了
tableRefernc.redraw()
方法,效果很好,但升级到第4版后效果不好,所以我将其更改为
tableRefernc.redraw(true)
,效果非常好。

我猜
table.redraw(true)适用于制表器4.0及更高版本,如果您有较低版本的制表器,请使用
table.redraw()

这也发生在我身上,在升级到第4版之前,我使用了
tableRefernc.redraw()
方法,它工作得很好,但升级到第4版后工作得不好,所以我将其更改为
tableRefernc.redraw(true)
而且它工作得很好。

JSFIDLE和SO代码片段在这里似乎都按预期工作。@visibleman先生,您使用的是什么浏览器?我查到mozilla和google chrome仍然存在这个问题。Windows上的google chrome版本71.0.3578.98(官方版本)(64位)我在chrome和opera中看到了它,我在firefox和edge中看到了你的问题,因此,它似乎与浏览器有关。想想它是html的一部分,在html中,您将display设置为noneJSFIDLE,所以代码片段似乎在这里按预期工作。@visibleman先生,您使用的是什么浏览器?我查到mozilla和google chrome仍然存在这个问题。Windows上的google chrome版本71.0.3578.98(官方版本)(64位)我在chrome和opera中看到了它,我在firefox和edge中看到了你的问题,所以看起来与浏览器有关。考虑到它是html的一部分,你可以将显示设置为noneHi-Oli感谢你的回复,但我还是有问题。当我尝试使用
$('#示例表')重新绘制时。重新绘制(true)
标题仍然缺失,我得到的响应是
类型错误:$(…)。重新绘制不是函数。已经像这样包含jquery包装器了,我得到了
TypeError:t.widget不是
jquery\u wrapper.min.js:2:190
上的函数。我把文件包括在内是不是错了?或者对文件进行排序?您已使用非jQuery方法声明了表,因此无法尝试使用无法工作的jQuery选择器访问它。您必须在创建i如何使用jquery方法尝试声明的表时,对分配给该表的表变量调用redraw函数?我尝试的是
$(“#示例表”).tablator({//table setup options}