gpt4 book ai didi

javascript - window.open() 在 react 应用程序中不起作用

转载 作者:行者123 更新时间:2023-12-01 03:46:32 24 4
gpt4 key购买 nike

我有一个看起来像这样的 react 应用程序:我有一个按钮,当单击它时,它将打开一个弹出窗口,其中包含要打印的票证,单击处理程序从父组件传递到按钮,我想要相同的过程在父组件内完成

export default class ParentComponent extends Component {
openWindow = id => {
window.open('/service/ticket/' + id + '/print')
}

submitPayment = () => {
sendPayment(this.state.rawCommand.id, updatedCommand.payment)
.then(payment => {
if (payment.needed > 0) {
toastr.success(dictionnary.acceptedPayment)
} else {
toastr.success(dictionnary.payee)
this.openWindow(updatedCommand.id)
}
}

render () {
<Printer printTicket={this.openWindow} />
}
}

const Printer = ({printTicket, id}) => {
const clickHandler = () => printTicket(id)

return (
<button onClick={clickHandler}>print</button>
)
}

问题是,当单击 Printer 组件中的按钮时,窗口会按预期打开,但是当从父组件调用 openWindow 单击处理程序时,什么也没有发生!

我检查了 chrome devtools 中的代码,该函数被调用,但弹出窗口未打开。

编辑更多解释:1- 该按钮会打开一个带有票证的弹出窗口并打印它2-用户可以通过此按钮打印票据3-提交付款后,票据应自动打印

最佳答案

我找到了与谷歌浏览器有关的解决方案:它阻止了弹出窗口!!!

关于javascript - window.open() 在 react 应用程序中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43538835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com