在實(shí)際開發(fā)中可能會(huì)遇到一種情況,后臺(tái)的api接口傳回來(lái)的數(shù)據(jù)比較多,而datatable中只需要顯示一部分。如果之后的操作并不需要用到?jīng)]有顯示的數(shù)據(jù),可以直接在columns配置中不配置相應(yīng)的字段,比如以下數(shù)據(jù)源中每一項(xiàng)有6個(gè)字段:

datatable拿到的數(shù)據(jù)
如果我只在columns中只配置name,position,office,就只會(huì)顯示這三項(xiàng)。
columns: [{
"data": "name",
"orderable": true, // 禁用排序
"defaultContent": "",
"width": "10%"
}, {
"data": "position",
"orderable": true, // 禁用排序
"defaultContent": "",
"width": "10%"
}, {
"data": "office",
"orderable": false, // 禁用排序
"defaultContent": "",
"width": "10%"
}
],

只顯示三列數(shù)據(jù)
但若是之后的操作中會(huì)用到未顯示的數(shù)據(jù),比如點(diǎn)擊行后顯示詳細(xì)信息,那么可以只將其隱藏,可以在columnDefs配置中給想隱藏的列添加一個(gè)類,如hide_column。
<style>
.hide_column{
display: none;
}
</style>
"columnDefs" :
[{
className: "hide_column",
"targets": [2,5] //將第3列和第6列隱藏,從0開始計(jì)數(shù)
}],
這樣的話,使用datatables的api獲得當(dāng)前行的數(shù)據(jù)的話就也可以獲得到隱藏列中的數(shù)據(jù)。