yylib-quick-mobile
Version:
yylib-quick-mobile
77 lines • 2.53 kB
JavaScript
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;