refactor(ui): 统一复选框组件使用 defineModel 和 model-value 语法

- 在 BenchmarkTable.vue 中使用 defineModel 替代 props 和 emit 管理选中状态
- 统一所有复选框组件使用 model-value 属性替代 checked 属性
- 移除不必要的 class 样式和事件修饰符,简化代码逻辑
- 优化表格头部固定样式,提升滚动体验
This commit is contained in:
2026-03-19 00:54:33 +08:00
parent 7987cf35f9
commit 292ddc989d
4 changed files with 34 additions and 38 deletions

View File

@@ -89,8 +89,8 @@
<TableRow>
<TableHead class="w-[50px]">
<Checkbox
:checked="isAllSelected"
@update:checked="handleSelectAll"
:model-value="isAllSelected"
@update:model-value="handleSelectAll"
/>
</TableHead>
<TableHead class="w-[80px]">ID</TableHead>
@@ -105,8 +105,8 @@
<TableRow v-for="record in list" :key="record.id">
<TableCell>
<Checkbox
:checked="selectedRowKeys.includes(record.id)"
@update:checked="handleSelectRow(record.id)"
:model-value="selectedRowKeys.includes(record.id)"
@update:model-value="handleSelectRow(record.id)"
/>
</TableCell>
<TableCell>{{ record.id }}</TableCell>

View File

@@ -99,8 +99,8 @@
<TableRow>
<TableHead class="w-[50px]">
<Checkbox
:checked="isAllSelected"
@update:checked="handleSelectAll"
:model-value="isAllSelected"
@update:model-value="handleSelectAll"
/>
</TableHead>
<TableHead class="w-[70px]">ID</TableHead>
@@ -120,8 +120,8 @@
>
<TableCell>
<Checkbox
:checked="selectedRowKeys.includes(record.id)"
@update:checked.stop="handleSelectRow(record.id)"
:model-value="selectedRowKeys.includes(record.id)"
@update:model-value.stop="handleSelectRow(record.id)"
/>
</TableCell>
<TableCell>{{ record.id }}</TableCell>