同一标签页内容显示两次

用户名

我已经实现了一个简单的标签代码。我正在尝试将标签容器移到我的li标签内,因为这是一项新要求。更改代码后,相同的选项卡内容将显示两次。

  _renderTitles: function () {
    function labels(child, index) {
        var activeClass = (this.state.selected === index ? 'active' : '');

        return (
        <li role="presentation" key={index} className={child.props.liClass}>
            <a href="#" 
            className={`sports-tab-header ${activeClass}`}
            onClick={this.handleClick.bind(this, index)}>
            <h2>{child.props.label}</h2>
            <p className="sports-subtitle">{child.props.subtitle}</p>
          </a>
        </li>
      );
    }
    return (
        <ul className="tabs__labels">
        {this.props.children.map(labels.bind(this))}
      </ul>
    );
  },
安德鲁·梅西耶(Andrew Messier)

由于以下这一行,因此在两个地方都显示了该内容:

<div className="tabs__content">
  {this.props.children[this.state.selected]}
</div>

props.children属性包含两个孩子,因此您选择仅显示所选内容。没错,只是由于以下原因,您正在为每个孩子这样做map

<ul className="tabs__labels">
  {this.props.children.map(labels.bind(this))}
</ul>

最好的解决方案是,当内容为所选内容时,this.state.selected === index通过设置内容来使用与您相同的检查

var isActive = this.state.selected === index;
var activeClass = (isActive ? 'active' : '');
// Only set the content if active 
var content = isActive ? this.props.children[this.state.selected] : null;
...

// Show the content, which will be null if not active tab
<div className="tabs__content">
  {content}
</div>

参见更新的JSFiddle

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

基于关闭HTML内容是用户在同一页面中两次登录

当单击同一个标签文本/图标两次时,如何使标签页导航?

如何在JMeter中使用断言确认在同一网页上两次显示的文本

React:如何在同一页面中两次使用相同的组件,但只为一次加载一个脚本标签

在同一页面(HTML和CSS)上使用Codemirror两次,只会应用一种突出显示模式

如何在同一页面上两次连接到GoInstant?

在同一页面上两次使用js函数

Vuejs 在同一页面上两次使用模态组件

刷新同一页面两次时出错

新的Recaptcha在同一页面上(基本上)两次无效

在同一页面上打印两次的文本

同一页面上的 JQuery 函数 POST 仅工作两次

如何在同一页面上两次使用相同的jquery脚本

在同一页面上两次使用此功能时遇到问题;

如何在同一页面中两次使用 JQuery 函数?

标签显示两次 Swift

Jekyll 帖子内容显示两次

在页面上显示两次内容,但仅定义一次内容

如何在同一页面上两次包含同一React应用程序?

列名在同一列熊猫中显示两次

在同一查询中两次获取UserID的显示名称

SwiftUI 的 List 在 ForEach 中显示同一行两次

jQuery克隆表单在同一页面中两次无法正常工作

angular2:在同一页面上重复使用两次通用组件

如何在同一网页中两次使用相同的JavaScript小部件?

从一页进行两次重定向

在一页中两次使用mongoDB集合

Ionic Vue Modal 显示两次内容

ViewPager和FragmentTabHost两次显示内容