vueComponent / ant-design-vue

🌈 An enterprise-class UI components based on Ant Design and Vue. 🐜
https://antdv.com/
Other
20.08k stars 3.78k forks source link

一些组件(例如select组件onChange/onSearch)传递props绑定事件时使用时报警告[warning] Expected Function, got Array, 导致后续触发事件时报错, 因为组件内部props事件传递给子组件时将function处理成Array了 #7818

Open Hmap-Mr opened 1 week ago

Hmap-Mr commented 1 week ago

Version

4.2.3

Environment

分支标签4.2.3 直接下载download.zip

Reproduction link

https://github.com/vueComponent/ant-design-vue.git

Steps to reproduce

一些组件传递props绑定事件时使用时报警告[warning] Expected Function, got Array, 导致后续触发事件时报错, 因为组件内部props事件传递给子组件时将function处理成Array了, 相关组件包含但可能不限于(select: onChange/onSearch, modal: onClose, )等。复现步骤直接使用Select组件 绑定@change事件后会报警告,触发时对应事件时会报错

What is expected?

修复此bug, 事件传递处理时正确传递事件, 而不是数组

What is actually happening?

线上生产版本不会有此类情况


bug修复后, 希望可以回复一下此条提问

Hmap-Mr commented 1 week ago

直接使用运行就已经报props的警告了 企业微信截图_17252727644905 此处传入onChange事件是function 企业微信截图_17252726039927 但后续vc-select接收时确实Array 企业微信截图_17252727347142 后续触发对应事件将会报错 企业微信截图_17252728559250

selicens commented 1 week ago

https://github.com/vueComponent/ant-design-vue/blob/2666cb79abf9825872e37b55d6d9d4c1cf30e62a/components/vc-select/Select.tsx#L411-L416 应该是这里引起的