由于框架的限制,我写了一段多表单检验,但觉得代码还有很大的优化空间
之后我丢给 ChatGPT(3.5) 并叫他学习代码内容,等待反馈后,再叫他重构代码
代码内容
着实惊艳到了 😲
不仅解决了冗余问题,还解决了执行步骤问题
本来需要每一个表单都要判断一次,现在只需要找到最近未通过的表单
我写的乐色代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| let validList = []; that.$refs.form1.validate((valid) => { if (!valid) validList.push('base'); }); that.$refs.form2.validate((valid) => { if (!valid) validList.push('entry'); }); that.$refs.form3.validate((valid) => { if (!valid) validList.push('category'); }); that.$refs.form4.validate((valid) => { if (!valid) validList.push('settlement_day'); });
if (validList.length > 0) { that.page.activeTabName = validList[0]; }
|
GPT 写的代码(已经过我的优化,有一个回调出错)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| const forms = [ { ref: that.$refs.form1, name: 'base' }, { ref: that.$refs.form2, name: 'entry' }, { ref: that.$refs.form3, name: 'category' }, { ref: that.$refs.form4, name: 'settlement' }, ];
const invalidForm = forms.find((form) => { let valid = false; form.ref.validate((curValid) => (valid = curValid)); return !valid; });
if (invalidForm) { console.log(that.form.data); that.page.activeTabName = invalidForm.name; return; }
|