Tencent / tdesign-vue-next

A Vue3.x UI components lib for TDesign.
https://tdesign.tencent.com/vue-next
MIT License
1.47k stars 480 forks source link

[Dialog] Dialog和Drawer 需要提供一个 弹窗打开/关闭时触发事件 #4709

Closed yrc2333 closed 5 days ago

yrc2333 commented 3 weeks ago

这个功能解决了什么问题

目前Dialog/Drawer只提供了onOpened api在弹出动画效果结束后触发

  1. 当打开弹窗动画执行完后再通过接口获取相关参数会更加耗时
  2. 在编辑表单信息场景下,弹窗动画执行完再执行更改表单初始化操作会存在表单值切换效果

你建议的方案是什么

建议补充类似其他开源库的api image

IssueShoot

github-actions[bot] commented 3 weeks ago

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

Wesley-0808 commented 3 weeks ago

针对你提出的第一个问题,如果后端服务器的响应速度/返回速度没有这么快的话,那么其实可以在设置visibletrue之前,先发起请求 获取数据 第二个问题,我做了一个项目也是有使用Dialog编辑内容的功能,我的解决方案也同上述思路差不多,就是在设置visibletrue前,先把数据放到formdata里 如果是因网络延时造成较差的用户体验 那么其实即使有BeforeOpen/BeforeClose的差别也不会多大,该卡还得卡,因为弹窗动画就0.28s

Wesley-0808 commented 3 weeks ago

当然了,有这两个api的话 在适用性上会更好一点

yrc2333 commented 2 weeks ago

是的,算是优化需求吧,在使用上也更加符合直觉。而且我看像其他几个主流的组件库也都有提供类似功能

uyarn commented 1 week ago

可以支持

Wesley-0808 commented 1 week ago

@uyarn API那边是需要你们加吗?还是共创者都能提pr?

liweijie0812 commented 1 week ago

@uyarn API那边是需要你们加吗?还是共创者都能提pr?

都可以

uyarn commented 5 days ago

supported 1.10.4, thanks for @Wesley-0808