store-ui
Version:
store-ui
96 lines (79 loc) • 1.61 kB
JavaScript
/**
* @desc
*
* @使用场景
*
* @author 杨晓东[of1081]
* @company qianmi.com
* @Date 15/7/29
**/
;
var React = require('react');
var Immutable = require('immutable');
var {msg} = require('iflux');
var PureRenderMixin = require('react/addons').addons.PureRenderMixin;
var util = require('uikit/common/util');
var MenuGroup = require('./menu-group');
var LeftMenu = React.createClass({
mixins: [PureRenderMixin],
/**
* 初始化属性
*/
getDefaultProps(){
return {
menuGroupList: Immutable.List()
}
},
/**
* 初始化状态
*/
getInitialState (){
return {
currentMenu: ""
};
},
/**
* 绑定自定义事件
*/
componentDidMount() {
$('.item_title').each(function () {
$(this).click(function () {
$(this).next().toggle('fast', function () {
if ($(this).is(':visible')) {
$(this).prev().removeClass('up');
$(this).prev().addClass('down');
}
else {
$(this).prev().removeClass('down');
$(this).prev().addClass('up');
}
});
});
});
msg.on('menu:click', (url)=> {
this.setState({currentMenu: url})
});
},
/**
* remove自定义事件
*/
componentWillUnmount() {
},
/**
* virtualdom
* @returns {XML}
*/
render() {
return (
<div className="new_member_left">
<a href="/user_center">
<div className="title" >个人中心</div>
</a>
{this.props.menuGroupList.map(menuGroup=> {
return <MenuGroup menu={menuGroup} currentMenu={this.state.currentMenu}></MenuGroup>
}).toArray()}
</div>
);
}
});
module.exports = LeftMenu;