From 70ceee988cf4a2795e767d45a3546b25c1db02cd Mon Sep 17 00:00:00 2001 From: pablone Date: Sun, 27 Apr 2025 16:16:33 +0200 Subject: [PATCH] fix(VnTable): replace click event with mousedown for editable rows --- src/components/VnTable/VnTable.vue | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/components/VnTable/VnTable.vue b/src/components/VnTable/VnTable.vue index 8915500fc..60d2dbcff 100644 --- a/src/components/VnTable/VnTable.vue +++ b/src/components/VnTable/VnTable.vue @@ -214,7 +214,7 @@ onBeforeMount(() => { }); onMounted(async () => { - if ($props.isEditable) document.addEventListener('click', clickHandler); + if ($props.isEditable) document.addEventListener('mousedown', mousedownHandler); mode.value = quasar.platform.is.mobile && !$props.disableOption?.card ? CARD_MODE @@ -237,7 +237,7 @@ onMounted(async () => { }); onUnmounted(async () => { - if ($props.isEditable) document.removeEventListener('click', clickHandler); + if ($props.isEditable) document.removeEventListener('mousedown', mousedownHandler); }); watch( @@ -385,7 +385,7 @@ function hasEditableFormat(column) { if (isEditableColumn(column)) return 'editable-text'; } -const clickHandler = async (event) => { +const mousedownHandler = async (event) => { const clickedElement = event.target.closest('td'); const isDateElement = event.target.closest('.q-date'); const isTimeElement = event.target.closest('.q-time'); @@ -408,6 +408,7 @@ const clickHandler = async (event) => { } if (isEditableColumn(column)) { + event.preventDefault(); await renderInput(Number(rowIndex), colField, clickedElement); } };