UNPKG

store-ui

Version:

store-ui

96 lines (79 loc) 1.61 kB
/** * @desc * * @使用场景 * * @author 杨晓东[of1081] * @company qianmi.com * @Date 15/7/29 **/ 'use strict'; 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;