Nav*_*een 9 html javascript css reactjs
我正在尝试为移动/平板电脑设备实现多行面包屑链接。用户将浏览多个文件夹,如果它超出了面包屑链接容器配置的最大行数,我将从头开始删除链接(尝试显示当前路径的最大路径)。找不到为此的 css 方法。请在下面找到一个示例max line = 2
current path =
path1 / path2
/ path3 / path4
/path5
Run Code Online (Sandbox Code Playgroud)
超过路径5(转到第3行应该将链接更新为
updated path =
.../ path2
/ path3 / path4
Run Code Online (Sandbox Code Playgroud)
如果用户向后导航,则应更新而不带椭圆。我尝试了以下方法,但没有达到预期效果 -
white-space: no wrap and text-overflow: ellipse,我无法使用它,因为它不允许多行Width(in pixel) * Font Constant / font Size (in pixels)动态计算出宽度和字体大小。但无法弄清楚如何获取元素的字体常量。任何帮助,非常感谢。
小智 0
从“反应”导入反应;从'react-router-dom'导入{链接,useLocation};
const Breadcrumb = ({ handleDrawerOpen, open }) => {
const { pathname } = useLocation();
const pathName = (paths, index) => {
return paths.filter((path, pathIndex) => pathIndex !== 0 && pathIndex <= index).join('/');
};
const func = () => {
const paths = pathname.split('/');
return paths.map(
(path, index) =>
index !== 0 && (
<Link
style={{
textDecoration: 'none',
color: index === paths.length - 1 ? '#49C5B6' : 'white',
}}
to={`/${pathName(paths, index)}`}>{`${
path?.charAt(0)?.toUpperCase() + path.slice(1).toLowerCase()
} ${index !== paths.length - 1 ? '>' : ''} `}</Link>
)
);
};
return (
<Box>
{!open && (
<IconButton onClick={handleDrawerOpen}>
<MenuIcon />
</IconButton>
)}
<Profile />
</Box>
);
};
export default Breadcrumb;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
544 次 |
| 最近记录: |