我有一个有三张桌子的页面。我在第一个表上放了一个“按钮格式化程序”,单击它时会为后两个表设置data-url。
例:
window.actionEvents = {
'click .edit': function (e, value, row, index) {
$('#tabletwo').bootstrapTable('refresh', {
url: '/api/controllerExample/' + row.id + '/exampleActionOne'
});
$('#tablethree').bootstrapTable('refresh', {
url: '/api/controllerExample/' + row.id + '/exampleActionTwo'
});
}
};
现在,并非所有行“id”行都有任何数据。还有这样一种眼睛疼痛,有两张桌子显示它们没有任何东西可以展示。
问题:
是否可以将actionlistener设置为诸如“done loading data”之类的表,然后检查table是否为空,是否执行某些逻辑(例如将div设置为隐藏)
解决了我自己的问题。
Bootstrap表支持事件,所以我在“load-success”事件上监听,当它触发时我从表中获取数据并检查它是否不超过2(“[]”)。如果它是两个则意味着表是空的。
例:
$('#tabletwo').on('load-success.bs.table', function () {
if (JSON.stringify($('#tabletwo').bootstrapTable('getData')).length < 3) {
$('#containingDiv').hide();
} else {
$('#containingDiv').show();
}
});
let $msgTable = $('#bootstrapTable');
$msgTable.on('load-success.bs.table', function (data) {
let $tableBlock = $('#bootstrapTableBlock');
if (data.length > 0) {
$tableBlock.show();
} else {
$tableBlock.hide();
}
});