关于自定义表单组件,然后validate有问题的
用的是Element-UI
需求是当时需要自己写个树形下拉框的组件,但是刚好用于form表单提交的,然后发现这个自己写的组件,触发验证会有一些问题,明明填写了值,但是验证提示没有填写值,但是也不影响提交,强迫症啊,需要解决,所以百度了一下,然后大致总结了一下,就是自定义组件在失去焦点的时候自己要调用一下form的validate,代码:
validate() {
const formItem = findComponentUpward(this, "ElFormItem");
if (formItem) {
const prop = formItem.prop;
const form = formItem.form;
if (prop && form) {
form.validateField(prop);
}
}
},
这个代码我是在自定义组件的,下拉面板关闭以后调用了一下,至于时机根据个人情况,findComponentUpward
查找上级组件,参考【我的Vue 组件查找】笔记,其实也可以用事件分发的,但是当时试了,好像并没有效果,理论上是可行的,但是没成功,有时间的朋友可以试试。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通