UNPKG

yylib-quick-mobile

Version:

yylib-quick-mobile

74 lines (72 loc) 2.5 kB
/** * Created by whh on 2017/12/26. */ import React, {Component} from 'react'; import {NavBar} from 'antd-mobile'; import YYIcon from './../icon/YYIcon'; import {isFunction} from '../../utils/FunctionUtil'; import classnames from 'classnames'; import {backOrClose} from '../../utils/lfwUtil'; import './YYNavBar.less'; class YYNavBar extends Component { /** * 默认进行返回 or 关闭 */ onLeftClick = (e) => { if(this.props.RunInDesign){ return; } if (isFunction(this.props.onLeftClick)) { this.props.onLeftClick(e); }else{ backOrClose(); } } /****右击事件*****/ onRightClick(e){ if(isFunction(this.props.onRightClick)) { this.props.onRightClick(e); } } render() { let {mode, leftIcon, leftContent, rightIcon, rightContent, children, className,visible,disabled,uititle,control_event,onRightClick, offline,parentType,uiorigin,RunInDesign,uitype,uikey,nid,findUI, ...restProps} = this.props; let wrapClz = classnames('yy-navBar',(!visible&&'hidden'), className); //leftIcon左边按钮 字符串时认为是按钮类型 let leftIconCom=typeof(leftIcon)==='string'?<YYIcon type={leftIcon}/>:leftIcon; let rightCom=rightIcon?<span className="rightContent" onClick={this.onRightClick.bind(this)}>{rightContent}<YYIcon className="rightIcon" type={rightIcon}/></span>:<span className="rightContent" onClick={this.onRightClick.bind(this)}>{rightContent}</span>; return ( <NavBar {...restProps} className={wrapClz} mode={mode} icon={!disabled?leftIconCom:null} leftContent={!disabled?leftContent:null} onLeftClick={!disabled?this.onLeftClick:null} rightContent={!disabled?rightCom:null}> {children} </NavBar> ); } } YYNavBar.defaultProps = { mode:'light', leftIcon:null, leftContent: null, rightIcon: null, rightContent: null, onLeftClick:null, visible:true, disabled:false, //设计器需要的props,不添加会warning uititle:'', control_event:{}, onRightClick:'', offline:false, parentType:'', uiorigin:'', RunInDesign:false, uitype:'', uikey:'', nid:'', findUI:'' }; export default YYNavBar;