antd anchor根据浏览器搜索栏中的id自动跳到页面相应id位置
时间: 2024-02-19 14:57:38 浏览: 139
要实现antd anchor根据浏览器搜索栏中的id自动跳到页面相应id位置,你可以使用React Router的HashRouter组件和antd的Anchor组件相结合。具体实现步骤如下:
1. 在React Router的HashRouter组件中包裹需要跳转的页面内容,并将需要跳转的页面内容的id作为路由的哈希值。
2. 在antd的Anchor组件中使用Link组件,并设置href属性为需要跳转的页面内容的id。
3. 在antd的Anchor组件中设置Target属性为需要跳转的页面内容的id。这样,当用户在浏览器搜索栏中输入页面内容的id并按下回车键时,页面就会自动滚动到相应的位置。
示例代码如下:
```
import { Anchor } from 'antd';
import { HashRouter, Route } from 'react-router-dom';
const { Link } = Anchor;
function App() {
return (
<HashRouter>
<Anchor targetOffset="64">
<Link href="#section1" title="Section 1" />
<Link href="#section2" title="Section 2" />
<Link href="#section3" title="Section 3" />
</Anchor>
<Route path="/" exact>
<div id="section1">
// Section 1 content
</div>
</Route>
<Route path="/section2">
<div id="section2">
// Section 2 content
</div>
</Route>
<Route path="/section3">
<div id="section3">
// Section 3 content
</div>
</Route>
</HashRouter>
);
}
```
在这个例子中,当用户在浏览器搜索栏中输入“/#/section2”并按下回车键时,页面就会自动滚动到id为“section2”的位置。注意,这里的Target属性设置为64,是因为Antd的导航栏默认高度为64px。
阅读全文