【发布时间】:2018-06-22 15:10:12
【问题描述】:
我对 Material UI 和 React 非常陌生。我遇到了一个非常奇怪的 UI 问题,希望这里有人能指出我做错了什么。
我在做什么: 我有一个清单。对于每个列表项,我想要一些按钮指向不同的 URL。这是我的清单的代码。这有点伪代码。每个“列表项”都是使用映射以遍历以 JSON 格式保存的数据生成的:
<List>
<ListItem button component="a" href={infoUrl}>
<ListItemAvatar>
<Avatar src={itemIcon} />
</ListItemAvatar>
<ListItemText
primary={this.props.project.name_with_namespace}
secondary={this.props.project.description}
/>
<ListItemSecondaryAction>
<Tooltip id="button-report" title="Report">
<IconButton area-label="Report" href={reportUrl}>
<AssessmentIcon />
</IconButton>
</Tooltip>
<Tooltip id="button-codeRepo" title="Code Repository">
<IconButton area-label="Code Repository" href={repoUrl}>
<CodeIcon />
</IconButton>
</Tooltip>
</ListItemSecondaryAction>
</ListItem>
</List>
问题: 该列表与所有列表项一起显示。主要和次要文本以及每个列表项的头像也正确显示,包括 2 个“图标按钮”。
问题是在ListItemSecondaryAction 下添加到IconButton 的工具提示。对于第一个列表项,一切都很好。对于所有其他列表项,我必须将鼠标指针移动到图标按钮的底部边缘才能单击并查看工具提示。
如果我完全删除工具提示,我对点击没有任何问题。我可以将鼠标指针移动到图标按钮圆环内的中间或其他区域并执行单击。
我在这里没有正确使用Tooltip 吗?尝试了 Chrome 和 FireFox,发现同样的问题。
【问题讨论】:
-
你能做一个显示问题的测试用例吗?如果有帮助,请从这里开始:codesandbox.io/s/y334rqrpp9
-
感谢您的评论和建议。我刚刚尝试了那个沙盒,但无法在那里重现该问题。代码看起来与我在项目中的完全一样。 codesandbox.io/s/qxyyzkow8q
-
在您的问题中它说:“每个“列表项”都是使用映射以遍历以 JSON 格式保存的数据生成的”。您的演示没有这样做,因此它可能与此有关。尝试使您的演示与您的实际代码相同。看不到问题就很难提供帮助。
-
我刚刚做了一个实验,用静态列表项删除我的自动生成的“列表项”(示例帖子中的代码相同)。我也有同样的问题。检查 html 元素后,注意到底部有几个 div 元素,如下所示。将鼠标悬停在每个图标按钮上指的是除第一个列表项之外的这些按钮。
标签: javascript css tooltip material-ui listitem