如何解决将数据支持到功能对象
我想将道具放在对象内容中的文本值上作为文本值。我应该怎么做?
也许这是另一个解决方案?我也想映射到这个对象。例如名称中的名称。
import React,{ Component } from "react";
import pdfMake from "pdfmake/build/pdfmake";
import pdfFonts from "pdfmake/build/vfs_fonts";
pdfMake.vfs = pdfFonts.pdfMake.vfs;
class Print extends Component {
printPdf(e) {
e.preventDefault();
pdfMake
.createPdf({
content: [
{
text: "{this.props.order.name}",style: "header",},],styles: {
header: {
fontSize: 18,bold: true,})
.print();
}
render() {
return (
<div className="Print">
<button onClick={this.printPdf}>Print</button>
{this.props.order.name}
</div>
);
}
}
export default Print;
解决方法
如果您是想除了能够传递事件prop之外还希望传递printPdf函数一个prop,那么可以通过onClick来实现:
<button onClick={ (event) => { this.printPdf(event,this.props.order.name) } }>Print</button>
我添加了一个匿名箭头函数,然后您可以使用该函数调用您的函数,并可以根据需要传递它。
您对地图的询问-不确定您的意思,但是对象存在for循环:
let obj = { key: val,key2: val2 };
for (let key in obj) {
console.log("key is ",key,"and the val is ",obj[key] );
}
,
关于您的第二问题(地图):
假设props.order.name是一个数组:
{props.order.name.map((n,i) => ( <h1 key={i}>{ n.name}</h1> ))}
如果props.order.name是一个数组,则更合适的称呼它:
props.order.names
然后,代码如下所示:
{props.order.names.map((item,i) => ( <h1 key={i}>{ item.name}</h1> ))}
看起来更干净。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。