择善固执
择善固执
  • 发布:2022-06-22 17:06
  • 更新:2023-12-12 16:38
  • 阅读:871

uni-form的验证机制败笔

分类:uni-app

本来不想说的,在各种场景下频繁遇到这个问题,还是发出来讨论下。

由于调试与表单验证相关的bug,阅读了 uni-forms, uni-form和其它输入组件的代码。uni-forms现有的验证机制,需要 uni-forms, uni-form-item, 输入组件例如 uni-easy-input 三者相互配合才能工作,看似完美,但是这导致 uni-forms只能较好支持自身的输入组件,对用户自定义组件的支持很不友好。要配合 uni-forms的验证机制,自定义组件只是实现 v-model 是不够的,还需要 调用 getForm 获取 form, formItem对象,并赋值 rename才能保证验证机制工作。

为什么 uni-forms 的验证机制不能很好支持 仅实现 v-model的自定义组件? 如果组件实现 v-model,uni-forms监听数据执行验证,这样似乎也行啊, 不清楚为什么 uni-forms的验证机制做得如此复杂,导致自定义组件不能很好支持验证,而 uni-forms自带的输入组件有仅有 uni-easy-input, uni-data-checkbox, uni-data-picker,导致稍微复杂点的业务逻辑都很难用表单实现,我认为这成为 uni-ui 表单的一个瓶颈。

总结下, uni-forms, uni-form-item和uni-ui自带的输入组件耦合度过高,导致 uni-forms对用户自定义组件支持度很差,然后因为 uni-ui自带输入组件又少,导致表单能够支持的输入方式有限,限制了业务实现。

2022-06-22 17:06 负责人:无 分享
已邀请:
3***@qq.com

3***@qq.com

可以直接说,DCloud的技术开发要么是需求指向有问题,要就是技术构架取向有问题,耦合度过高的问题在很多模块中都存在,不知道是不是增加用户粘性的欲望太强,模块的复杂性让用户能进行的修改非常有限,非常限制用户的自定义开发,在为用户提供一些便利性的同时,又带来了一些限制,反正不太理解为什么要这样做。

择善固执

择善固执 (作者) - 择善固执,日拱一卒

一个好的框架需要有高水平的设计,不缺钱,有牛人,牛人愿意全身心投入,这些都是可遇不可求的,所以能用就好了,不再期待。

将就一下。

要回复问题请先登录注册