2017-11-14 9 views
-1

画像を切り抜くために画像切り抜きを使用しています。私はこれを正しく実装されている次のライブラリ画像を渡そうとするとき、preventDefaultは関数エラーではありません。

https://github.com/mosch/react-avatar-editor

を使用していると私は、この機能を使用して、トリミングされた画像を取得しています。

handleSave =() => { 
    const img = this.editor.getImageScaledToCanvas().toDataURL(); 

    this.props.croppedImage(img); 
}; 

this.props.croppedImage(img); 

を次のようにここで、iは2でクロッピング(第2成分)

<CropperTest croppedImage={this.getCroppedImg}/> 

を実装している場合これは、別の関数に小道具を使用して、トリミングされた画像に合格しましたコンポーネントiは、この関数を使用してクロップされたイメージにアクセスし、そのイメージを別の関数に再度渡しました。これが問題の原因です。

getCroppedImg(img) { 
    this.props.onImageImgPoll(img); 
} 

onImageImgPoll機能

onImageImgPoll(event) { 

event.preventDefault(); 
let array = this.state.filepoll.slice(); 
let unq_file = event.target.files[0]; 

if (event.target.files && event.target.files[0]) { 

    let reader = new FileReader(); 
    reader.onloadend = (e) => { 
    array.push(unq_file); 
    }; 
    reader.readAsDataURL(unq_file); 

    this.setState({ 
    image: event.target.result, 
    filepoll: array, 
    filestar: [] 
    }); 

} 

}; 

私は私が見つけた何このエラー

event.preventDefault is not a function 

を取得しています。このコードを実行しているトリミングされた画像は、Base64形式であるです。多分それが問題かもしれません。どうすればこの問題を解決できますか?

+1

を追加したことを確認し 'img'はとてもので、あなたがそこにイベントを渡していません –

+0

何のイベントプロパティを持っていない、イベントではありません。また、画像と一緒にイベントを渡す – Lalit

+0

@ジャロマンダXどのように画像を渡す必要がありますか? – CraZyDroiD

答えて

0

はあなたのコンポーネントのコンストラクタでthis.onImageImgPoll= this.onImageImgPoll.bind(this);

関連する問題