alibaba / formily

📱🚀 🧩 Cross Device & High Performance Normal Form/Dynamic(JSON Schema) Form/Form Builder -- Support React/React Native/Vue 2/Vue 3
https://formilyjs.org/
MIT License
11.12k stars 1.44k forks source link

[Bug Report] formily reset 无效问题 #3947

Closed WuHuSa closed 11 months ago

WuHuSa commented 11 months ago

Reproduction link

Edit on CodeSandbox

Steps to reproduce

复现步骤

  1. 点击组件右侧“清空”按钮

  2. Select 组件 value 变为 undefined

  3. 点击重置,Input 重置成功,Select 值未重置,observe 未触发

What is expected?

期望正常重置

What is actually happening?

Select 的重置未触发

Package

@formily/core@2.2.29


janryWang commented 11 months ago

这个问题是因为 Antd Select 组件不支持基于undefined的受控清空,是个已知问题了

WuHuSa commented 11 months ago

点击 clear 清空 Select 后,再点「重置」,observe 监听函数没有触发,我理解这跟交互组件无关吧,是 formily 的重置未生效啊。 Input 能生效是因为 clear 之后 onChange 的值是 空字符串,如果 onChange 的是 undefined 一样也不能重置