@H_301_1@下面来编写一个tab选项卡切换效果,效果如下图所示:
@H_301_1@下面我放上该组件的代码:
原文链接:https://www.f2er.com/react/304438.htmlimport React,{ Component } from 'react';
import { Link } from 'react-router';
import '../scss/base.scss';
import '../scss/tab.scss';
class TabController extends Component {
constructor(props){
super(props);
this.state = {
current: 0
};
}
itemNav = (index) => {
return index === this.state.current ? 'item-title active' : 'item-title';
}
itemCon = (index) => {
return index === this.state.current ? 'con active' : 'con';
}
render(){
return (
<div>
<ul className="itemContainer clearfix">
{
React.Children.map(this.props.children,(element,index) => {
return (
<li onClick={ () => { this.setState({ current: index }) } } className={ this.itemNav(index) }>{ element.props.name }</li>
)
})
}
</ul>
<div className="itemCon">
{
React.Children.map(this.props.children,index) => {
return (
<div onClick={ () => { this.setState({ current: index }) } } className={ this.itemCon(index) }>{ element }</div>
)
})
}
</div>
</div>
);
}
}
export default class TabComponent extends Component {
constructor(props){
super(props);
this.state = {
};
}
render(){
return (
<TabController>
<div name="one">
第一部分
</div>
<div name="two">
第二部分
</div>
<div name="three">
第三部分
</div>
</TabController>
);
}
}
@H_301_1@参考: http://www.cnblogs.com/tianheila/p/5170330.html