V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bhbhxy
V2EX  ›  前端开发

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

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

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

    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 曾经就这个问题跟后端沟通过,后端一脸不耐烦,其实就是后台改一行代码的事,非得把脏活累活推给前端。不过也得看公司,有的公司后端跟大爷一样,对前端存在根深蒂固的偏见
    bojackhorseman
        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`规范发给我,然后用工具生成对应类型,减少了很多心智负担,联调接口时效率也高很多。
    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 不是自带了吗?
    sjhhjx0122
        17
    sjhhjx0122  
       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   ·   实用小工具   ·   1044 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:40 · PVG 03:40 · LAX 11:40 · JFK 14:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.