fix(frontend): 任务列表勾选被3s自动刷新清掉——el-table勾选按行对象身份记,silentRefresh换新数组即丢;row-key=task_id+selection列reserve-selection按ID持久勾选,删除完clearSelection显式清;dev验证:勾选过2轮刷新仍保持且按钮计数正确 [nas]
This commit is contained in:
@@ -9,6 +9,8 @@ const tasks = ref<TaskListItem[]>([])
|
||||
const loading = ref(false)
|
||||
const deleting = ref(false)
|
||||
const selection = ref<TaskListItem[]>([])
|
||||
// reserve-selection 后勾选按 row-key 持久;删除完要显式清表内勾选
|
||||
const tableRef = ref()
|
||||
|
||||
// 筛选
|
||||
const typeFilter = ref<'all' | 'cta' | 'portfolio' | 'optimize' | 'factor'>('all')
|
||||
@@ -189,6 +191,7 @@ async function doDelete(rows: TaskListItem[]): Promise<void> {
|
||||
else ElMessage.success(`已删除 ${ids.length} 个任务`)
|
||||
deleting.value = false
|
||||
selection.value = []
|
||||
tableRef.value?.clearSelection()
|
||||
await load()
|
||||
}
|
||||
|
||||
@@ -249,8 +252,8 @@ function durationText(row: TaskListItem): string {
|
||||
</div>
|
||||
|
||||
<el-card v-loading="loading" class="table-card" shadow="never">
|
||||
<el-table :data="paged" size="small" empty-text="暂无符合条件的任务" @selection-change="onSelectionChange">
|
||||
<el-table-column type="selection" width="42" :selectable="isTerminal" />
|
||||
<el-table ref="tableRef" :data="paged" size="small" row-key="task_id" empty-text="暂无符合条件的任务" @selection-change="onSelectionChange">
|
||||
<el-table-column type="selection" width="42" :selectable="isTerminal" reserve-selection />
|
||||
<el-table-column label="任务 ID" min-width="170">
|
||||
<template #default="{ row }">
|
||||
<span v-if="canReplay(row)" class="mono task-link" title="点击跳到参数页(预填该任务参数)" @click="replayParams(row)">{{ row.task_id }}</span>
|
||||
|
||||
Reference in New Issue
Block a user