Я пытаюсь создать ReactJS-приложение с использованием FabricJS canvas. Для теста я создал простые формы SVG и добавил их на холст. Я желаю скачать их как .png и для этого я использую кнопку.
Я использую функцию стрелки вместо метода .bind () для метода.
Следующий кодчасть, которая создает PNG и загружает его. Он работает в Chrome, но не в Firefox.
import React from 'react';
import {fabric} from 'fabric';
import {Button} from 'react-bootstrap';
class FabricCanvas extends React.Component{
//Code for adding elements to canvas omitted
saveToCanvas = () => {
var link = document.createElement("a");
link.href = this.the_canvas.toDataURL({format: 'png'});
link.download = "avatar.png";
link.click();
}
render(){
return (
<React.Fragment>
<canvas id='main-canvas'>
</canvas>
<Button className='large success' onClick={this.saveToCanvas} >
Download
</Button>
</React.Fragment>
);
}
}