当使用Grid.js尝试服务器端排序时,它会对服务器进行多次调用,这是可以避免的



我正在使用Grid.js访问服务器数据并执行服务器端排序(这在Grid.js文档上)。

我的问题是,当我尝试排序一列时,它使服务器调用的次数等于可排序列的数量。

这里有一个关于JSFiddle的例子

<!DOCTYPE html>
<html lang="en">
<head>
<link
href="https://unpkg.com/gridjs/dist/theme/mermaid.min.css"
rel="stylesheet"
/>
</head>
<body>
<div id="wrapper"></div>

<script src="https://unpkg.com/gridjs/dist/gridjs.umd.js"></script>
<script type="text/javascript">
new gridjs.Grid({
columns: ['Title', 'Director', 'Producer'],
sort: {
multiColumn: false,
server: {
url: (prev, columns) => {
if (!columns.length) return prev;
const col = columns[0];
const dir = col.direction === 1 ? 'asc' : 'desc';
let colName = ['title', 'director', 'producer'][col.index];
return `${prev}&order=${colName}&dir=${dir}`;
}
}
},
pagination: {
limit: 3,
server: {
url: (prev, page, limit) => `${prev}?limit=${limit}&offset=${page * limit}`
}
},
server: {
url: 'https://swapi.dev/api/films?',
then: data => data.results.map(m => [
m.title, m.director, m.producer
]),
total: data => data.count
} 
}).render(document.getElementById("wrapper"));
</script>
</body>
</html>

我想知道为什么它会这样,以及如何避免它。

多谢

这似乎是一个已知的库错误。Bug报告:https://github.com/grid-js/gridjs/issues/1317它仍然没有修复(2023年6月)。

似乎是sort调用了那么多api

相关内容

  • 没有找到相关文章

最新更新