【发布时间】:2020-01-18 01:05:53
【问题描述】:
我正在使用 React 开发一个配置页面。我有一个显示在表格中的可配置元素列表,并且“保存”按钮被禁用并变为透明,直到修改数据字段,此时按钮被启用并变得完全不透明。
但是,当按钮处于禁用状态时,按钮会呈现在父元素之上,例如粘性表格标题和导航栏。这在滚动时变得非常明显。启用按钮可以解决问题,并且不再在父元素上呈现。
目前我正在使用 react-bootstrap Button 组件来呈现按钮,但使用常规 HTML 按钮会产生相同的结果。似乎禁用按钮或单独更改不透明度字段也会导致问题。
<td className="saveButton">
<Button
variant="primary"
id={this.props.id}
disabled={!this.state.modified} //Only enable saving after data has been modified
style={this.state.modified ? {opacity: 1} : {opacity: 0.3}}
onClick={this.updateListItem}
>Save</Button>
</td>
按钮应该与表格行的其余部分一起消失在粘性表格标题和导航栏下方,但处于禁用状态的按钮最终会呈现在顶部,如下所示:
(注意启用的按钮在表格标题下方正确滚动)
任何想法我哪里出错了?
【问题讨论】:
-
Save All和Add按钮所在的“粘性表格标题”是吗?尝试在标题hr中添加z-index: 1或更大。 -
是的,那是表格标题,随着视口向下滚动。向
<tr>或<th>元素添加z-index 并没有什么不同。这个错误似乎发生在 1 以外的任何不透明度
标签: css reactjs bootstrap-4