1 Star 12 Fork 12

ice19/work_92

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
项目下拉框组件描述.txt 2.32 KB
一键复制 编辑 原始数据 按行查看 历史
ice19 提交于 2023-08-23 20:41 . 和hr聊天
别人问你: 有没有封装过一些组件? (结合自己的业务说)
https://www.axureshop.com/ys/479129
https://www.axureshop.com/a/479129.html 原型图
我之前的项目是一个vue2写的招聘平台的项目,比较小众,疫情期间使用的,结束以后,这个项目因为一些原因就下线。
我们这个项目类似与拉钩,boss等招聘,但主要针对的人群是蓝领人群,因为很少有平台专门针对这些用户做过类似的产品,
里面有一个业务我印象比较深刻,就是在写一个 找工作模块的时候, 里面关于 工作经验,行业,薪资, 学历要求,公司规模等等,还有些记不住了, 这些下拉框有个共同特点。 就是他们的数据都是后端返回给前端的,都是动态数据,不能写死。之前没有封装思维的时候,就在一个页面里面,从头写到尾。然后后期维护这个项目的同事,也在不断的写这个页面,导致这个页面最后都有1千多行, 所以后面就萌生了 优化这个页面的想法。
最简单的就是 将所有的 下拉框封装起来,作为一个组件,因为页面上这些下拉框的UI都长得一模一样,只是数据不同,结合vue的数据驱动视图,封装一个组件,ui不动。只需要我们在组件内部,针对不同的选项的类型,传递一些参数,然后在二次封装的element-ui的插件里面 根据不同的 type类型去 发请求。这样一来,我们的首页 就会精简接近200行代码。
封装的组件,主要接受的有几个属性,监听几个事件。 属性就是 type从1到5, 父组件给子组件传递一个对象属性名称是value,里面有 工作经验,行业,薪资,学历要求,公司规模等等
监听的事件就是一个input事件,然后就可以通过v-model来简写
已进入这个页面,所有的请求是并发的,涉及到promise的 all方法 (promise上面有很多方法 all any race allSettle。 Promise.all([qingq1, qingq2, qingq3, ....])
还有里面有一些难点: 行业和薪资的下拉框请求 依赖于 工作经验的数据的优先选择。
因为是同一个组件,那么还需要在组件里面 监听 工作经验的数据, 例如 wathc: 'obj.a':(){}
如果这个有值了,就在并行发起获取行业和薪资的请求
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/errlei/work_92.git
git@gitee.com:errlei/work_92.git
errlei
work_92
work_92
master

搜索帮助