alibaba / lowcode-engine

An enterprise-class low-code technology stack with scale-out design / 一套面向扩展设计的企业级低代码技术体系
https://lowcode-engine.cn
MIT License
14.5k stars 2.52k forks source link

时间选择器在被循环遍历生成后,在onChange的时候 窗口闪退 #2486

Open Juncheng-wu opened 1 year ago

Juncheng-wu commented 1 year ago

Describe the bug (required) / 详细描述 bug(必填)

在onChange的时候,选择窗口不应该消失,但是每次onChange的时候都会消失。原因可能是循环+setState导致。

To Reproduce (required) / 如何复现 bug?(必填,非常重要)

复现地址: https://lab.lowcode-engine.cn/demo/preview?formUuid=FORM-186C555A97FF45C99714B34FE61674D7&appKey=testag3423jgk2&version=0.1.0#/ 代码地址:https://lab.lowcode-engine.cn/demo/design?formUuid=FORM-186C555A97FF45C99714B34FE61674D7&appKey=testag3423jgk2&version=0.1.0 (使用的是官网的demo体验页面)

Expected behavior (required) / 预期行为(必填,非常重要)

希望onChange的时候 选择窗口不要消失,正常展示。

Screenshots (optional) / bug 截图(可选)

请看demo

Environments (please complete the following information) (required): / 请提供如下信息(必填)

woshilaoge commented 11 months ago

@liujuping 试了下,还真是,渲染渲染的场景下,指定了 key ,但是某个 item 的变化,还是触发了所有的渲染。目前不太确定是组件的原因,还是渲染引擎。有空可以看看,在内部应该也可以复现

image

Juncheng-wu commented 9 months ago

@liujuping 试了下,还真是,渲染渲染的场景下,指定了 key ,但是某个 item 的变化,还是触发了所有的渲染。目前不太确定是组件的原因,还是渲染引擎。有空可以看看,在内部应该也可以复现

image

我看了下antd的时间选择组件,他们是在选择窗口的右下角多了个确定按钮,选择完了之后 点击确定再触发setState,这样就规避掉这个问题了。