Ich habe eine Reaktion Anwendung, die so aussieht: Ich habe eine Schaltfläche, wenn es angeklickt wird, wird ein Popup mit einem Ticket zum Drucken geöffnet, der Click-Handler wird übergeben eine übergeordnete Komponente auf die Schaltfläche, und ich möchte das gleiche Verfahren innerhalb der übergeordneten Komponentewindow.open() arbeite nicht in react application
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} />
}
}
und
const Printer = ({printTicket, id}) => {
const clickHandler =() => printTicket(id)
return (
<button onClick={clickHandler}>print</button>
)
}
das Problem ist, wenn die Schaltfläche in der Druckerkomponente wird das Fenster geklickt getan wird geöffnet wie erwartet, aber wenn der OpenWindow-Click-Handler von Par aufgerufen wird Ent Komponente ist nichts passiert!
Ich inspizierte den Code in Chrome Devtools und die Funktion wird aufgerufen, aber das Popup öffnet nicht.
bearbeiten Weitere Erklärung: 1- Sie die Taste ein Popup mit einem Ticket öffnet und ausdrucken 2- der Benutzer ein Ticket über diese Taste 3- nach einer Zahlung einreichen das Ticket sollte automatisch ausgedruckt drucken
Ich würde erwarten, eine ReferenceError für 'commandId' auf der Konsole mit diesem Code zu sehen. – Quentin
es ist ein Tippfehler in der Frage nur danke! –
Wie rufen Sie 'submitPayment' auf? – Pineda