reactjs - 反应如何创建自定义溢出省略号
问题描述
我想创建一个包含可变数量项目的顶部导航。不应渲染所有不适合该栏的项目。当您将鼠标悬停在它上面时,会有一个小“...”图标显示一个子菜单,显示剩余的导航项目。关于如何实现这一目标的任何想法?我似乎无法根据父母的宽度来渲染导航项目。
我尝试在导航栏上设置 ref 并根据客户端宽度检查滚动宽度,但它不起作用。即使我让它工作,我仍然会比我应该渲染一个项目,因为我事先不知道孩子的宽度。
<div ref={ref} className="nav-list">
{ref ? items.map(i => {
return ref.scrollWidth <= ref.clientWidth ? (
<div className="nav-item" key={i.id}>
{i.title}
</div>
) : false;
}) : false}
<div className="nav-remaining">
<div>
//render remaining items
</div>
</div>
</div>
我看到有人通过递归添加孩子然后回溯以删除所有溢出的孩子来实现这一点。但我现在知道如何在反应中实施这种方法。
解决方案
推荐阅读
- c# - 如何使鼠标滚轮成为 UWP 中用户交互的主要来源?
- angular - Angular:HttpClient 服务和 Observable 自定义类型
- sql-server - 如何使用 pypyodbc 对 SQL Server 进行游标查询
- java - 首次启动时显示指令弹出窗口
- xml - 通过模式进行 XML 验证
- naming - 如何命名同一事物的两个类,一个复数和一个单数
- php - 在 Laravel 中创建谷歌地图,
- search - Substr - Power BI 中的 Instr 函数错误
- ruby-on-rails - Gem 安装错误版本的 bundler
- javascript - 如何在 VueJS 中读取 Firebase 数据?