网站首页 > 文章精选 正文
获取验证码组件
最近封装了一个 获取验证码 的组件,虽然算是一个比较小的组件,但是还是感觉比较有意思的,大致效果如下
最基础的组件
我们可以从简单的开始,先实现一个比较简单基础的组件,后面再去完善它,最基础的代码如下
这个时候可以看到这个组件的雏形已经出来了!
实现倒计时
接下来我们需要写一个 useCountDown 的 Hooks ,来编写倒计时的逻辑~大家在风中组件的时候,要有这种习惯,就是把一些逻辑比较紧密的代码抽取到一个 Hooks 中去
注意:setState 是异步更新,所以想获取最新值需要使用useRef
封装完后可以到组件中去使用
这样就能达到想要的倒计时效果,但是还是有很多不足,比如按钮没有禁用,而且尺寸不能自定义,也没有响应式把验证码内容暴露出去
完善组件封装
上面的组件封装的太简单了,一个好的组件需要具有比较好的自定义性、拓展性,所以我们需要完善一下组件的封装
可以把这个组件拆成两个部分:
- CountdownInput输入框
- CountButton按钮
CountdownInput输入框
CountButton
最终使用
效果如下
猜你喜欢
- 2025-05-23 Vue3+Axios网络请求封装
- 2025-05-23 推荐一个vue插件,基于hiprint封装的可视化报表设计与打印工具
- 2025-05-23 基于Ant Design Vue 封装useTable hooks
- 2025-05-23 Vue3 封装组件时,必须掌握的高级插槽技巧
- 2025-05-23 浅析vue封装自定义插件
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)