Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Calendar] onCellClick和onCellDoubleClick疑似有冲突 #1526

Closed
luoyu-233 opened this issue Aug 29, 2022 · 3 comments
Closed

[Calendar] onCellClick和onCellDoubleClick疑似有冲突 #1526

luoyu-233 opened this issue Aug 29, 2022 · 3 comments
Labels
to be published to be published

Comments

@luoyu-233
Copy link

luoyu-233 commented Aug 29, 2022

tdesign-vue-next 版本

0.20.2

重现链接

No response

重现步骤

当我给日历加上日历单元格双击时触发,日历单元格点击时触发,这两个api的时候,双击单元格触发了次点击事件和一次双击事件,感觉像是有一点问题,如果我在某个较短的时间段内进行了两次点击,是否可以只触发双击事件,而不是触发两次点击和一次双击

期望结果

当我给日历加上日历单元格双击时触发,日历单元格点击时触发,这两个api的时候,双击单元格触发了次点击事件和一次双击事件,如果我在某个较短的时间段内进行了两次点击,是否可以只触发双击事件,而不是触发两次点击和一次双击

实际结果

当我给日历加上日历单元格双击时触发,日历单元格点击时触发,这两个api的时候,双击单元格触发了次点击事件和一次双击事件,

框架版本

No response

浏览器版本

No response

系统版本

No response

Node版本

No response

补充说明

有需要点击日期单元格出现一个弹框进行文本记事,双击日期单元格来展示我对应的记事内容和当天某信息数据
No response

@github-actions
Copy link
Contributor

👋 @luoyu-233,感谢给 TDesign 提出了 issue。
请根据 issue 模版确保背景信息的完善,我们将调查并尽快回复你。

@github-actions
Copy link
Contributor

github-actions bot commented Aug 29, 2022

♥️ 有劳 @sanfengliao @Dreamcreative @PsTiu 尽快确认问题。
确认有效后将下一步计划和可能需要的时间回复给 @luoyu-233

@PsTiu
Copy link
Contributor

PsTiu commented Aug 29, 2022

tdesign-vue-next 版本

0.20.2

重现链接

No response

重现步骤

当我给日历加上日历单元格双击时触发,日历单元格点击时触发,这两个api的时候,双击单元格触发了次点击事件和一次双击事件,感觉像是有一点问题,如果我在某个较短的时间段内进行了两次点击,是否可以只触发双击事件,而不是触发两次点击和一次双击

期望结果

当我给日历加上日历单元格双击时触发,日历单元格点击时触发,这两个api的时候,双击单元格触发了次点击事件和一次双击事件,如果我在某个较短的时间段内进行了两次点击,是否可以只触发双击事件,而不是触发两次点击和一次双击

实际结果

当我给日历加上日历单元格双击时触发,日历单元格点击时触发,这两个api的时候,双击单元格触发了次点击事件和一次双击事件,

框架版本

No response

浏览器版本

No response

系统版本

No response

Node版本

No response

补充说明

有需要点击日期单元格出现一个弹框进行文本记事,双击日期单元格来展示我对应的记事内容和当天某信息数据 No response

你好,建议你可以这样处理:

<template>
    <t-calendar
      @cell-click="cellClick"
      @cell-double-click="cellDoubleClick"
    />
</template>

<script setup>
// 单元格单击和双击事件共存的时候,双击事件会触发单击事件(两次),这“可能不是”正确的效果,
// 这种场景下建议对单击事件进行延迟处理(详见下面 cellClick 和 cellDoubleClick 的代码)
let cellClickTimmer = null;

const cellClick = (options) => {
  clearTimeout(cellClickTimmer); // 用于在双击事件中取消掉额外触发的一次单击事件
  cellClickTimmer = setTimeout(() => {
    console.log(`鼠标左键单击单元格 ${options.cell.formattedDate}`);
  }, 300);
};

const cellDoubleClick = (options) => {
  clearTimeout(cellClickTimmer); // 用于在双击事件中取消掉额外触发另外一次单击事件
  console.log(`鼠标双击单元格 ${options.cell.formattedDate}`);
};
</script>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
to be published to be published
Projects
None yet
Development

No branches or pull requests

3 participants