我正尝试通过使用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
组件的引用。但是我无法解决这个问题。请帮助我。