
记一次vue项目局部组件重构历程
发布日期:2021-05-07 06:19:34
浏览次数:17
分类:精选文章
本文共 787 字,大约阅读时间需要 2 分钟。
前言:
最近在做一个类似于百度文库的项目,基于elementui。
一个文档检索的例子:输入框组件+输入提示(根据关键字检索信息并展示到下拉框里).
饿了么是有这个组件的,迅捷的集成速度得到了boss的称赞。
然而第二天一大早就有bug了,说这个输入框用户无法删除上次的输入,仔细检查发现这个输入框本质不是“输入框”(介于select和input之间),我们无法像传统的输入框那样光标选中文字delete,既然不行,那就自己写呗。
正文:
- 页面的架构:由于多页面共享输入框状态,使用vue-router的嵌套路由+vux状态管理能提供更好的页面速度体验(节省输入框重新渲染的开销).需要在子页面获取computed属性并监听(watch)该属性的变化。
- 踩坑:根据输入框输入的变化从后台拉取提示数据,马上想到了change事件,但是这个事件只有blur的时候才触发,响应不够迅捷(百度是输入就有触发),于是想到了watch 输入框的v-model绑定变量,事实证明这是个很大的错误(因为我们需要的是用户输入时进行提示,而不是绑定的值变化时提示,输入一般是键盘敲击,而绑定变量发生变化的情况则复杂得多,有可能是键盘输入也可能是某个地方改变了该值,比如当用户点击某个提示项时,需要把该项的值赋给输入框的v-model.),所以正确的姿势是监听输入框的keyup事件。
- 功能理顺一下:用户keyup时候,从接口请求数据,打开提示框并把数据显示到视图,用户点击某一项,把该项的值默认到输入框,并跳转到检索页面并以该值为检索条件检索文档。当用户点击文档的空白处(没有点击某项)时,关闭提示框。点击检索按钮时,以输入框的值为检索条件跳转到检索页检索文档...
总结:
功能虽简单,处理不好会有很多的小bug。毕竟手动实现一个检索框,功能点一定要想清楚,条条框框列清楚。会减少返工的几率。
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月12日 14时29分42秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
实例:使用OKGO下载网络压缩包资源,然后解压缩放在本地使用
2021-05-08
解决mybatis嵌套查询使用PageHelper分页不准确
2021-05-08
Redis源码分析(七)--- zipmap压缩图
2021-05-08
大规模集群自动化部署工具--Chef的安装部署
2021-05-08
HDFS源码分析(六)-----租约
2021-05-08
自定义Hive Sql Job分析工具
2021-05-08
聊聊HDFS RBF第二阶段的主要改进
2021-05-08
【MySQL】(九)触发器
2021-05-08
关于Altium Designer 09导出BOM表不能正确分类问题
2021-05-08
Oracle 11G环境配置
2021-05-08
【Spark】(六)Spark 运行流程
2021-05-08
【Python】(十二)IO 文件处理
2021-05-08
【Oozie】(三)Oozie 使用实战教学,带你快速上手!
2021-05-08
师兄面试遇到这条 SQL 数据分析题,差点含泪而归!
2021-05-08
Java8新特性——并行流与顺序流
2021-05-08
如何通过 Dataphin 构建数据中台新增100万用户?
2021-05-08
C语言的数值溢出问题(上)
2021-05-08
BottomNavigationView控件item多于3个时文字不显示
2021-05-08
函数指针的典型应用-计算函数的定积分(矩形法思想)
2021-05-08
8051单片机(STC89C52)八个LED灯闪烁
2021-05-08