From 68124de5106e55cb2987a6ba4ec1120d79b51788 Mon Sep 17 00:00:00 2001 From: Hussam Mousa <88555163+husamMousa@users.noreply.github.com> Date: Mon, 16 Sep 2024 13:54:43 +0300 Subject: [PATCH] fix(Table): select all rows reactivity issue (#2200) --- src/runtime/components/data/Table.vue | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/runtime/components/data/Table.vue b/src/runtime/components/data/Table.vue index e5b411340a..484f5c36b2 100644 --- a/src/runtime/components/data/Table.vue +++ b/src/runtime/components/data/Table.vue @@ -326,15 +326,18 @@ export default defineComponent({ } function selectAllRows () { + // Create a new array to ensure reactivity + const newSelected = [...selected.value] + + // If the row is not already selected, add it to the newSelected array props.rows.forEach((row) => { - // If the row is already selected, don't select it again - if (isSelected(row)) { - return + if (!isSelected(row)) { + newSelected.push(row) } - - // @ts-ignore - selected.value.push(row) }) + + // Reassign the array to trigger Vue's reactivity + selected.value = newSelected } function onChange (checked: boolean) {