From 5e93da08e5780d2d4c8d7c9c8e92f719f45a6281 Mon Sep 17 00:00:00 2001 From: RedPig97 <1978141412@qq.com> Date: Fri, 18 Aug 2023 16:54:47 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E8=A7=86=E5=9B=BE=E9=A1=B9=E7=82=B9=E5=87=BB=E8=A7=A6=E5=8F=91?= =?UTF-8?q?=E4=B8=A4=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 ++++ src/control/data-view/data-view.tsx | 28 ++++++++++++++++++++++++---- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b22269eb..3fc53ede 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,10 @@ - 支持行保存,表格全保存,表格行编辑切换等预置界面行为 - 标签支持代码表颜色 +### Fixed + +- 修复数据视图项点击触发两次 + ## [0.1.7] - 2023-08-14 ### Added diff --git a/src/control/data-view/data-view.tsx b/src/control/data-view/data-view.tsx index e993ef05..0711875d 100644 --- a/src/control/data-view/data-view.tsx +++ b/src/control/data-view/data-view.tsx @@ -38,6 +38,18 @@ export const DataViewControl = defineComponent({ return c.state.items.length >= c.state.total || c.state.isLoading; }); + // 行单击事件 + const onRowClick = (item: IData, event: MouseEvent): Promise => { + event.stopPropagation(); + return c.onRowClick(item); + }; + + // 行双击事件 + const onDbRowClick = (item: IData, event: MouseEvent): Promise => { + event.stopPropagation(); + return c.onDbRowClick(item); + }; + // 绘制项布局面板 const renderPanelItem = (item: IData, modelData: ILayoutPanel): VNode => { const { context, params } = c; @@ -47,8 +59,12 @@ export const DataViewControl = defineComponent({ modelData={modelData} context={context} params={params} - onClick={(): Promise => c.onRowClick(item)} - onDblclick={(): Promise => c.onDbRowClick(item)} + onClick={(event: MouseEvent): Promise => + onRowClick(item, event) + } + onDblclick={(event: MouseEvent): Promise => + onDbRowClick(item, event) + } > ); }; @@ -115,8 +131,12 @@ export const DataViewControl = defineComponent({ shadow='hover' class={cardClass} body-style={cardStyle} - onClick={(): Promise => c.onRowClick(item)} - onDblclick={(): Promise => c.onDbRowClick(item)} + onClick={(event: MouseEvent): Promise => + onRowClick(item, event) + } + onDblclick={(event: MouseEvent): Promise => + onDbRowClick(item, event) + } > {panel ? renderPanelItem(item, panel) : renderDefaultItem(item)} -- Gitee