【问题标题】:.sports-changed-status should be changed to .sports-last-second.sports-changed-status 应更改为 .sports-last-second
【发布时间】:2016-11-10 23:50:30
【问题描述】:
  • 我是 Reactjs 的新手。
  • 如果状态处于活动状态。我需要更新 p 标签并且需要在我的liClass 中更新为.sports-last-second
  • .sports-changed-status 应改为 .sports-last-second
  • 我创建了一个 if 条件,但不确定如何插入。
  • 你们能告诉我怎么做吗?
  • 在下面提供我的代码。

    newContentAdded: function () {
    
    var firstTab = 'got-the-value';
    
    if (firstTab == 'got-the-value')
    {
     <p> got-the-value got-the-value got-the-value got-the-value </p>
    }
    }
    

【问题讨论】:

  • 你能提供你创建的整个组件吗?
  • Javascript 变量名不能包含连字符。 (例如,“first-tab”应该读作“firstTab”)
  • @BenHare 我的小提琴有整个组件...在 js 中更改后...我将为此类添加新样式 .sports-changed-status
  • @JeffMcCloud 好的...你能告诉我如何实现该功能
  • 请注意,在渲染中使用.bind() 非常慢!

标签: javascript jquery html css reactjs


【解决方案1】:

据我所知,您已经拥有执行此操作所需的所有代码。

var isActive = this.state.selected === index;

您可以通过此行来确定您的选项卡是否处于活动状态。然后,您可以使用 next to 代码行来根据值设置上下文:

var activeClass = (isActive ? 'active' : '');
var content = isActive ? this.props.children[this.state.selected] : null;

您可以应用类似于您对contentactiveClass 所做的操作。看看你是如何实现它们的。

return (
    <li role="presentation" key={index} className={child.props.liClass}>
        <a href="#" 
        className={`sports-tab-header ${activeClass}`} // <== Adds active class
        onClick={this.handleClick.bind(this, index)}>
        <h2>{child.props.label}</h2>
        <p className="sports-subtitle">{child.props.subtitle}</p>
      </a>

      <div className="tabs__content">
        {content} // <== Adds content only if active
      </div>

    </li>
  );

所以改变&lt;p&gt;标签的内容只是一个小改动:

var newContent = <span>Hello</span>;
var pContent = isActive ? newContent : child.props.subtitle;
...

// Use the pContent variable instead of child.props.subtitle
<p className="sports-subtitle">{pContent}</p>

Updated JSFiddle

className 的修改将与activeClass 处理此行的方式相同:

....
className={`sports-tab-header ${activeClass}`}

这应该足够简单处理。

【讨论】:

  • 感谢您的回复...我需要更改此 p 标签中的内容

    ....可以吗? ??

  • 是的。在 Pane 渲染函数中创建 divp 标签,而不是 App 渲染函数。然后您可以调整您的代码以将selected 状态向下传递到Pane,以便您可以执行必要的逻辑。不过,这将需要进行大量更改,因为现在PaneTab 中的内容一无所知。你应该装备每个Tab 来渲染Pane。我真的建议关注React Documentation
  • 我尝试在小提琴中更新...它不起作用....你能在小提琴中更新吗.....
  • 我有一些疑问...你能帮我解决一下吗.. 我试过了,但它不起作用stackoverflow.com/questions/40563436/…
  • 你能帮我解决这个问题吗stackoverflow.com/questions/40600485/…
猜你喜欢
  • 1970-01-01
  • 2021-05-04
  • 2018-06-23
  • 1970-01-01
  • 2011-04-30
  • 1970-01-01
  • 2017-09-09
  • 1970-01-01
  • 2013-10-01
相关资源
最近更新 更多