惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
博客园_首页
J
Java Code Geeks
Jina AI
Jina AI
B
Blog RSS Feed
量子位
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
L
LangChain Blog
Microsoft Security Blog
Microsoft Security Blog
小众软件
小众软件
博客园 - 聂微东
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
Last Week in AI
Last Week in AI
MongoDB | Blog
MongoDB | Blog
I
InfoQ
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
爱范儿
爱范儿
Y
Y Combinator Blog
Vercel News
Vercel News
雷峰网
雷峰网

博客园 - 奔跑的小蚂蚁9538

Vue 3 组件通信,别只会用 Props 和 Emits 了,你想知道的都在这里 Vue 3图片全屏预览组件:打造专业级图像浏览体验 使用vue3+ts构建企业级文件传输管理系统:状态管理、性能优化与用户体验的深度实践 使用fetchEventSource构建高效AI智能助手:文件搜索场景的完整实现与深度解析 从表格到脑图:Vue3 + TypeScript +antv-x6 打造可视化督办任务系统(支持多级拆解+批量操作+动态视图切换) 构建企业级督办任务系统:Vue3 + TypeScript 实战(多级任务拆解+批量操作+进度追踪+单元格合并) 打造沉浸式智能AI问答助手:Vue3 + UniApp 全端实战(支持 Markdown/公式/多模态交互) 构建企业级智能知识库:Vue3 + TypeScript 实战(分类管理+全文检索+批量操作) Vue3 + TypeScript 实战:打造企业级工单管理系统(列表+详情+时间轴交互) Vue3 + G2 实战:打造高校学生打卡数据可视化大屏 Vue3 + TypeScript 实战:打造自适应 AI 问答与在线测验考试系统 Vue3 + TypeScript 实战:打造企业级动态合同表单系统 Vue3 + Iframe 实战:打造企业级流程配置中心 基于 Vue3 + TS + Ant Design Vue 实现精细化菜单按钮权限授权组件 用 Vue3 + fetch-event-source 打造流式 AI 翻译平台:OCR + 大模型 + SSE 全链路实战 web端ant-design-vue-Anchor锚点组件使用小节(2) web端ant-design-vue Upload 手动实现文件上传使用小节 web端ant-design-vue Modal.info组件自定义icon和title使用小节 前端工程化解决方案webpack使用小结 uniapp电子签名盖章实现详解 vue前端使用nexus配置npm私有仓库
web端ant-design-vue-Anchor锚点组件使用小节(1)
奔跑的小蚂蚁9538 · 2024-10-19 · via 博客园 - 奔跑的小蚂蚁9538

   web端ant-design-vue-Anchor锚点组件使用小节。项目开发中如果要实现前端页面平滑滚动到指定的位置,Anchor组件是一个好的选择,灵活且平滑,能满足常见的项目需求。最近开发中幸运的用到这个组件,从此对她爱不释手。下面就把开发中遇到的一些问题及源码整理出来,供以后查看和有缘人使用。

  问题一:点击右侧锚点左侧页面不能跟着联动,原因大概率是锚点组件没有设置key或者是key没有关联对;

  问题二:点击右侧锚点左侧页面能正常滚动跳转,滑动左侧页面,右侧锚点没联动,原因大致有两种情况1、未配置:getContainer="getContainer"属性,2、配置完上面的属性还是没效果,大概率是锚点锚定的id未设置好自动滚动属性,需要注意关联的是父级还是平级的div;

  经过反复的研究测试-Anchor锚点组件能够正常使用,核心代码如下:

// 锚点
const getContainer = () => {
return document.querySelector('.contract-content');
};
//锚点跳转方法实现
const handleClick: AnchorProps['onClick'] = (e, link) => {
e.preventDefault();
console.log(link, 'link');
console.log(getContainer, 'getContainer');
if (link.href) {
// 找到锚点对应得的节点
let element = document.getElementById(link.href.replace('#', ''))

console.log('element', element)
// 如果对应id的锚点存在,就跳滚动到锚点顶部
if (element) {
element.scrollIntoView({
behavior: 'smooth'
});
}
}
};