UNPKG

yylib-quick-mobile

Version:

yylib-quick-mobile

77 lines 2.53 kB
import React from 'react'; import ReactDom from 'react-dom'; import {InputItem,NavBar,Icon} from 'antd-mobile'; import PropTypes from 'prop-types'; import './createfile.less'; class CreateFile extends React.Component{ state={ title:"新建文件夹", canSave:false, isModify:false,//是否是修改 filename:'' } //保存方法 saveFile(){ let {billType} = this.props; let {filename} = this.state; let parentId=this.getParentID(); if(this.state.canSave){ if(this.state.isModify){ this.props.modifyName&& this.props.modifyName(Object.assign({},this.props.currentItem,{fileName:filename})) }else{ this.props.onFileSave&&this.props.onFileSave({ fileName:filename, type:1, parentId:parentId, billType:billType }); } } } getParentID(){ let parentId=this.context.location&&this.context.location.query.fileid; if(!parentId){ return '0'; } return parentId; } changeFileName(value){ if(value){ this.setState({filename:value,canSave:true}); }else{ this.setState({filename:'',canSave:false}); } } //取消新建 cancelAdd(){ this.props.cancelCreate&&this.props.cancelCreate(); } componentDidMount(){ if(this.props.currentItem){ //当前有数据 则说明是重命名 this.setState({ title:this.props.title&&this.props.title.editTitle?this.props.title.editTitle:"重命名", filename:this.props.currentItem.fileName, isModify:true, canSave:true }); }else{ this.setState({ title:this.props.title&&this.props.title.addTitle?this.props.title.addTitle:"新建文件夹", filename:'', isModify:false }); } } render(){ let {canSave,title}=this.state; return (<div className='create-file'> <NavBar onLeftClick={this.cancelAdd.bind(this)} mode="light" rightContent={<span onClick={this.saveFile.bind(this)} className={canSave?'':'disable'}>保存</span>} icon={<Icon type='left' />}>{title}</NavBar> <InputItem value={this.state.filename} ref='myFileName' onChange={this.changeFileName.bind(this)} placeholder='请输入文件夹名称' className='filename-input' /> </div>) } } CreateFile.contextTypes={ location:PropTypes.object.isRequired } export default CreateFile;