
antd的anchor组件点击锚点导致路由发生变化
发布日期:2021-05-07 09:43:29
浏览次数:20
分类:精选文章
本文共 488 字,大约阅读时间需要 1 分钟。
测试的同学反映,antd的anchor组件在点击锚点后会修改URL,而单页应用中如果使用哈希模式的路由,当URL被修改后,刷新页面会导致当前路由没有定义而出现404的情况。
原本的路由是
http://localhost:8066/#/home
由于锚点上有href="#"
属性,点击之后URL就变成了这样
http://localhost:8066/#/项目模板
这样的路由刷新之后肯定就会出现404的情况,那么需要怎么解决呢?
看了下antd的文档,发现有个click
事件
e.preventDefault()
阻止掉默认事件,然后再通过第二个参数拿到点击的href
,通过document.getElementById
获取到这个元素,然后使用scrollIntoView
添加页面滚动效果。 实际测试发现,调用e.preventDefault()
之后,只会阻止URL被修改,并不会阻止点击锚点后的滚动事件。这样的话,那句scrollIntoView
就可以不用了。
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月10日 08时07分57秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
flume使用中的一些常见错误解决办法 (地址已经使用)
2021-05-10
andriod 开发错误记录
2021-05-10
C语言编译错误列表
2021-05-10
看明白这两种情况,才敢说自己懂跨链! | 喵懂区块链24期
2021-05-10
《web安全入门》(四)前端开发基础Javascript
2021-05-10
python中列表 元组 字典 集合的区别
2021-05-10
python struct 官方文档
2021-05-10
Android DEX加固方案与原理
2021-05-10
iOS_Runtime3_动态添加方法
2021-05-10
Leetcode第557题---翻转字符串中的单词
2021-05-10
Problem G. The Stones Game【取石子博弈 & 思维】
2021-05-10
Unable to execute dex: Multiple dex files
2021-05-10
Java多线程
2021-05-10
Unity监听日记
2021-05-10
openssl服务器证书操作
2021-05-10
expect 模拟交互 ftp 上传文件到指定目录下
2021-05-10
linux系统下双屏显示
2021-05-10
PDF.js —— vue项目中使用pdf.js显示pdf文件(流)
2021-05-10