arco-design / arco-design-vue

A Vue.js 3 UI Library based on Arco Design
https://arco.design/vue
MIT License
2.59k stars 500 forks source link

form validate方法升级或者添加getFieldsValue #3190

Open MinMr opened 1 week ago

MinMr commented 1 week ago

Basic Info

What are the similar cases of this feature

no

What problem does this feature solve?

方案1:升级表单validate方法,调用validate的时返回的promise的resolve值是校验通过的value对象,reject的则是校验不通过的信息 方案2:新增getFieldsValue方法去实现以上功能 为什么需要这个方法呢,背景原因是当我们进行表单回填时直接Object.assign(model, data),这样的话如果data的数据还有别的值就会造成model污染,如果model.xx = data.xx取赋值的话,当model的属性太多时显的很麻烦,当然还可以写个方法setModel的方法去实现,但是看起来好像都不是最佳方法,最好的方案就是校验通过返回一个新model,这个新值就是只是表单里面formItem的值,然后直接将这个返回的model当成请求参数即可