我对表单提交和表单回显这一块比较烦躁,要对数据做校验,要根据设计稿切图,还要提示错误信息。然后回显需要一个个对应后端返回的字段,绑定下拉菜单,绑定已上传图片和附件,有没有好的方法可以提升这块工作的效率?
1
IsaacYoung 2023-03-22 14:08:41 +08:00
import
|
2
vruzo 2023-03-22 14:09:38 +08:00
copilot && ChatGPT
|
4
polarbearn 2023-03-22 14:53:15 +08:00
|
5
k9982874 2023-03-22 15:02:07 +08:00 via Android
前端的话最烦 responstive
|
6
bhbhxy OP @polarbearn 这个已经在 vscode 插件里用上了,只做提交功能的话挺方便的,回显的时候由于每个项目不同,需要匹配各种字段,如果只是文本域还好说,如果是级联下拉,或者图片列表就比较麻烦了
|
8
wu67 2023-03-22 15:17:21 +08:00
数据判空才是最烦的.
'' null [] undefined 0. 明明能按格式返回空值, 例如数组数据没有符合条件的结果时就返回空数组, 结果偏偏要搞出一个 null, 要不就 undefined, 平白无故要写多两个判断. |
9
bhbhxy OP @wu67 曾经就这个问题跟后端沟通过,后端一脸不耐烦,其实就是后台改一行代码的事,非得把脏活累活推给前端。不过也得看公司,有的公司后端跟大爷一样,对前端存在根深蒂固的偏见
|
10
bojackhorseman 2023-03-22 15:38:07 +08:00 2
1. 列表展示:input, select, table-column 处理;加载状态维护,还要写一堆 `state.data?.list || []`, `state.data?.total ?? 0`的判断
2. 表单验证:dialog 状态维护,在弹窗 open/close 重置表单或回显表单数据;表单创建、编辑和提交;表单数据类型转换,因为提交传参是 primitive ,但是回显是对象; 3. echarts 查字典式用法 4.新建 vue 文件,v-for 循环 以上都是我经常要做的枯燥的工作,大部分时间都找一个文件复制粘贴,然后删除额外逻辑。好在用了`typescript`,让后端提前把接口`swagger`规范发给我,然后用工具生成对应类型,减少了很多心智负担,联调接口时效率也高很多。 |
11
freak118 2023-03-22 15:38:42 +08:00
最烦前端已死
|
12
bhbhxy OP @bojackhorseman 看来大家的遭遇差不多哈哈
|
13
tool2d 2023-03-22 15:48:44 +08:00 1
最烦两点
1. 明明知道老板拍脑袋的垃圾项目,写完的前端代码,以后永远都不会用到,还是要迎着头皮堆垃圾。 2. 明明可以用简单的方式实现功能,由于需要和同事相互配合,只能绕远路,复杂度直接翻倍,代码也不好维护。 |
14
abelmakihara 2023-03-22 17:49:27 +08:00
表单是一方面
另一方面就是 ui 要求很高的时候对着像素扣 不同机型其实可能都有不同的样式问题 还不好调试只能靠猜 有种叫天天不应的绝望感 |
15
kela 2023-03-22 19:19:39 +08:00
JSON schema
|
16
chuck1in 2023-03-23 08:48:12 +08:00
数据校验 h5 不是自带了吗?
|
17
sjhhjx0122 2023-03-23 12:07:32 +08:00
@bojackhorseman 我也是,讨厌维护 dialog 的各种状态,逻辑专门写了个库 https://github.com/JinghuiS/vue-modal-provider
1.讨厌写各种根据状态才展示的页面 2.讨厌各种表单项来回联动 3.讨厌判断接口返回的数据验证空 4.讨厌有状态的页面要一上来一定要展示数据,搞的我每次还要把第一个状态填进去才请求 5.讨厌写政府项目 |
18
ScottHU 2023-03-25 10:57:58 +08:00
写返回数据的 ts 类型
|
20
philsky28 2023-03-27 20:13:25 +08:00
@bojackhorseman 真实
|
21
shervinchen 2023-04-04 05:10:21 +08:00
@wu67 用 lodash 的 isNil 和 isEmpty
|
22
xingguang 2023-04-12 14:47:15 +08:00
前台页面的各种样式,以及各种动画之类
|
23
2324 2023-04-19 08:42:30 +08:00
一个页面 6 ,7 个 popup
|