我是一个有用的助手,可以翻译文本。
上方有一个包含标记的地图和一个表格,这些标记与下方表格行相关。当用户在上方的地图上选择项目时,它会突出显示匹配的行,然后将这些行移动到表格顶部,并按用户的排序设置进行排序。
例如,如果您有以下“原始”数据(未显示数据):
然后用户在地图上选择
有一些数据集有10,000+行,我担心当他们选择项目时,由于2个过滤器+连接,这会锁定太长时间。有没有一种可以一次完成此操作的方法,或者只是一种可以在执行此操作时防止浏览器锁定的方法?
上方有一个包含标记的地图和一个表格,这些标记与下方表格行相关。当用户在上方的地图上选择项目时,它会突出显示匹配的行,然后将这些行移动到表格顶部,并按用户的排序设置进行排序。
例如,如果您有以下“原始”数据(未显示数据):
[
{id: 1, name: 'Z'},
{id: 2, name: 'Y'},
{id: 3, name: 'X'},
{id: 4, name: 'W'}
]
然后用户在地图上选择
id:1
和id:3
,并按name
排序。数据变为:[
{id: 3, name: 'X'}, // selected
{id: 1, name: 'Z'}, // selected
{id: 4, name: 'W'}, // not selected
{id: 2, name: 'Y'} // not selected
]
有一些数据集有10,000+行,我担心当他们选择项目时,由于2个过滤器+连接,这会锁定太长时间。有没有一种可以一次完成此操作的方法,或者只是一种可以在执行此操作时防止浏览器锁定的方法?
var selectedRows = rows.filter(function (row) {
return selectedMarkerIds.indexOf(row.id) !== -1
});
var nonSelectedRows = rows.filter(function (row) {
return selectedMarkerIds.indexOf(row.id) == -1
});
var allRows = selectedRows.concat(nonSelectedRows);
myTable.updateRowSort(allRows);
rows
是一个数组。我尝试了很多比较方法,但我无法弄清楚如何保持原始排序顺序,只将选定的行提升到顶部。 - Oscar Godson