作为前端,你觉得最枯燥的工作内容是什么 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bhbhxy
V2EX    前端开发

作为前端,你觉得最枯燥的工作内容是什么

  •  
  •   bhbhxy 2023-03-22 14:06:51 +08:00 3259 次点击
    这是一个创建于 933 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我对表单提交和表单回显这一块比较烦躁,要对数据做校验,要根据设计稿切图,还要提示错误信息。然后回显需要一个个对应后端返回的字段,绑定下拉菜单,绑定已上传图片和附件,有没有好的方法可以提升这块工作的效率?

    23 条回复    2023-04-19 08:42:30 +08:00
    IsaacYoung
        1
    IsaacYoung  
       2023-03-22 14:08:41 +08:00
    import
    vruzo
        2
    vruzo  
       2023-03-22 14:09:38 +08:00
    copilot && ChatGPT
    bhbhxy
        3
    bhbhxy  
    OP
       2023-03-22 14:16:11 +08:00
    @vruzo 怎么向 chatgpt 描述此类问题,感觉不太好组织语言
    polarbearn
        4
    polarbearn  
       2023-03-22 14:53:15 +08:00
    你应该需要动态表单生成
    https://github.com/GavinZhuLei/vue-form-making
    k9982874
        5
    k9982874  
       2023-03-22 15:02:07 +08:00 via Android
    前端的话最烦 responstive
    bhbhxy
        6
    bhbhxy  
    OP
       2023-03-22 15:02:47 +08:00
    @polarbearn 这个已经在 vscode 插件里用上了,只做提交功能的话挺方便的,回显的时候由于每个项目不同,需要匹配各种字段,如果只是文本域还好说,如果是级联下拉,或者图片列表就比较麻烦了
    bhbhxy
        7
    bhbhxy  
    OP
       2023-03-22 15:06:32 +08:00
    @k9982874 确实这个要匹配各种尺寸,各种弹性布局,写好几套样式,对页面结构要求很高,工作量和维护量不小
    wu67
        8
    wu67  
       2023-03-22 15:17:21 +08:00
    数据判空才是最烦的.
    '' null [] undefined 0.

    明明能按格式返回空值, 例如数组数据没有符合条件的结果时就返回空数组, 结果偏偏要搞出一个 null, 要不就 undefined, 平白无故要写多两个判断.
    bhbhxy
        9
    bhbhxy  
    OP
       2023-03-22 15:27:26 +08:00
    @wu67 曾经就这个问题跟后端沟通过,后端一脸不耐烦,其实就是后台改一行代码的事,非得把脏活累活推给前端。不过也得看公司,有的公司后端跟大爷一样,对前端存在根深蒂固的偏见
    dumbass
        10
    dumbass  
       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`规范发给我,然后用工具生成对应类型,减少了很多心智负担,联调接口时效率也高很多。
    freak118
        11
    freak118  
       2023-03-22 15:38:42 +08:00
    最烦前端已死
    bhbhxy
        12
    bhbhxy  
    OP
       2023-03-22 15:45:13 +08:00
    @bojackhorseman 看来大家的遭遇差不多哈哈
    tool2d
        13
    tool2d  
       2023-03-22 15:48:44 +08:00   1
    最烦两点

    1. 明明知道老板拍脑袋的垃圾项目,写完的前端代码,以后永远都不会用到,还是要迎着头皮堆垃圾。

    2. 明明可以用简单的方式实现功能,由于需要和同事相互配合,只能绕远路,复杂度直接翻倍,代码也不好维护。
    abelmakihara
        14
    abelmakihara  
       2023-03-22 17:49:27 +08:00
    表单是一方面
    另一方面就是 ui 要求很高的时候对着像素扣
    不同机型其实可能都有不同的样式问题
    还不好调试只能靠猜 有种叫天天不应的绝望感
    kela
        15
    kela  
       2023-03-22 19:19:39 +08:00
    JSON schema
    chuck1in
        16
    chuck1in  
       2023-03-23 08:48:12 +08:00
    数据校验 h5 不是自带了吗?
    linkopeneyes
        17
    linkopeneyes  
       2023-03-23 12:07:32 +08:00
    @bojackhorseman 我也是,讨厌维护 dialog 的各种状态,逻辑专门写了个库 https://github.com/JinghuiS/vue-modal-provider

    1.讨厌写各种根据状态才展示的页面
    2.讨厌各种表单项来回联动
    3.讨厌判断接口返回的数据验证空
    4.讨厌有状态的页面要一上来一定要展示数据,搞的我每次还要把第一个状态填进去才请求
    5.讨厌写政府项目
    ScottHU
        18
    ScottHU  
       2023-03-25 10:57:58 +08:00
    写返回数据的 ts 类型
    ScottHU
        19
    ScottHU  
       2023-03-25 10:58:32 +08:00
    @wu67 这个也同意啊
    philsky28
        20
    philsky28  
       2023-03-27 20:13:25 +08:00
    shervinchen
        21
    shervinchen  
       2023-04-04 05:10:21 +08:00
    @wu67 用 lodash 的 isNil 和 isEmpty
    xingguang
        22
    xingguang  
       2023-04-12 14:47:15 +08:00
    前台页面的各种样式,以及各种动画之类
    2324
        23
    2324  
       2023-04-19 08:42:30 +08:00
    一个页面 6 ,7 个 popup
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2997 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 12:08 PVG 20:08 LAX 05:08 JFK 08:08
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86