Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在ReactJs中销毁react-cropper方法?_Javascript_Html_Css_Reactjs_Hybrid Mobile App - Fatal编程技术网

Javascript 如何在ReactJs中销毁react-cropper方法?

Javascript 如何在ReactJs中销毁react-cropper方法?,javascript,html,css,reactjs,hybrid-mobile-app,Javascript,Html,Css,Reactjs,Hybrid Mobile App,我在reactjs中使用了react裁剪器组件。我在弹出窗口上创建了这个功能。在这里,我有一个按钮叫上传。如果我点击按钮,弹出屏幕将打开。我有那片庄稼地。还有两个按钮,如裁剪和取消。如果单击“裁剪”或“取消”按钮,则无法再次打开同一图像。如何解决这个问题 这是我的密码 var React = require('react') var Cropper = require('react-cropper').default; var CropImg = React.createClass({

我在reactjs中使用了react裁剪器组件。我在弹出窗口上创建了这个功能。在这里,我有一个按钮叫上传。如果我点击按钮,弹出屏幕将打开。我有那片庄稼地。还有两个按钮,如裁剪和取消。如果单击“裁剪”或“取消”按钮,则无法再次打开同一图像。如何解决这个问题

这是我的密码

var React  = require('react')
var Cropper = require('react-cropper').default;

var CropImg = React.createClass({
    getInitialState:function(){
        return {
            open:false,
            src:"",
            cropResult: null,
        }
    },
    onChange:function(e){
        var files, self = this;
        if (e.dataTransfer) {
            files = e.dataTransfer.files;
        } else if (e.target) {
            files = e.target.files;
        }
        var reader = new FileReader();
        reader.onload = function(){
            self.setState({
                open:true,
                src: reader.result
            });
        };
        reader.readAsDataURL(files[0]);
    },
    cropImage:function(){
        if (typeof this.refs.cropper.getCroppedCanvas() === 'undefined') {
            return;
        }
        this.setState({
            open:false,
            src:"",
            cropResult: this.refs.cropper.getCroppedCanvas().toDataURL(),
        });
    },
    cancelCrop: function() {
        this.setState({
            open:false,
            src:"",
            cropResult:null
        });
    },
    render:function(){
        return (
            <div>
                <div className="scroll-content">
                    <input type="file" id="photo" onChange={this.onChange} />
                </div>
                <div className={"profile-popup "+(this.state.open ? "active" : "inactive")}>
                    <div className="crop-area">
                        <Cropper
                            style={{ height: 280, width: '100%' }}
                            aspectRatio={1 / 1}
                            guides={true}
                            src={this.state.src}
                            ref="cropper" />
                        <div className="row-col">
                            <div className="col"><button onClick={this.cropImage}>Crop</button></div>
                            <div className="col"><button onClick={this.cancelCrop}>Cancel</button></div>
                        </div>
                    </div>
                </div>
            </div>
        );
    }
});

module.exports = CropImg;
var React=require('React'))
var croper=require('react-croper')。默认值;
var CropImg=React.createClass({
getInitialState:函数(){
返回{
开:错,
src:“,
croppresult:null,
}
},
onChange:函数(e){
var文件,self=this;
如果(如数据传输){
files=e.dataTransfer.files;
}否则,如果(如目标){
files=e.target.files;
}
var reader=new FileReader();
reader.onload=函数(){
自我状态({
开放:是的,
src:reader.result
});
};
reader.readAsDataURL(文件[0]);
},
cropImage:function(){
if(this.refs.crapper.getCroppedCanvas()的类型='undefined'){
返回;
}
这是我的国家({
开:错,
src:“,
CropPresult:this.refs.croper.getCroppedCanvas().toDataURL(),
});
},
取消裁剪:函数(){
这是我的国家({
开:错,
src:“,
croppreslt:null
});
},
render:function(){
返回(
收成
取消
);
}
});
module.exports=CropImg;

此绑定

this.cropImage.bind(this)