无法使用ReactToPrint多次打印组件

时间:2019-06-19 18:40:46

标签: javascript reactjs

我正尝试通过使用map函数循环数据数组,使用带有不同道具的PrintStoreChallan打印组件ReactToPrint。我希望通过单击一次按钮就可以具有不同数据的challans的批量打印功能。

我正在尝试做的一小段:

            <ReactToPrint
            trigger={()=> <Button
            style={{ marginTop: '12px', marginLeft:'10px' }}
            className="challan-tab-button"
            onClick={() => {}
            >
            Print Store Challan
            </Button>
            }
            content={()=> this.printRef}
            />
            <div style=              
            {{visibility:'hidden',height:'0px',width:'0px'}}>
              {
                this.state.selectedRows.map((row) => {
                    <PrintStoreChallan
                    ref={this.setPrintRef} 
                    challanData = {row}          
                    /> 
                })

              }
            </div>
    constructor() {
    super();
    this.printRef = null

    this.setPrintRef = element => {
        this.printRef = element;
      };


组件PrintStoreChallan仅包含一个表,其中包含一些数据作为道具传递给它。

但是这样做时,我得到了错误:

Refs are not available for stateless components. For "react-to-print" to work only Class based components can be printed.

我认为ReactToPrint的content属性没有多次获得PrintStoreChallan组件的引用。但是我无法解决这个问题。请帮助我。

0 个答案:

没有答案