Das Problem ist, dass meine redux-Form innerhalb der react-bootstrap
Registerkarte (in ProductReviewWidget
) behandelt nicht alle Ereignisse - Kontrollkästchen, react-dropzone
, Absenden des Formulars selbst usw. Selbst onClick
Zuhörer don‘ t feuern.Funktionen nicht Brennen innerhalb reagieren-Bootstrap-Element
render() {
const { product, reviews, questions } = this.props;
const productId = product.num_iid;
let reviews_count = 0;
for (let i = 0; i < (reviews[productId] || []).length; i++){
if(!reviews[productId][i].only_vote){
reviews_count ++;
}
}
return (
<div>
<Tab.Container activeKey={this.state.activeTab} onSelect={this.setActiveTab} id="main_tab">
<div className='text-center clearfix'>
<Nav bsStyle="pills" bsClass='flex-container flex-start'>
<NavItem eventKey="review" className="flex-item product-tab-link-item">
Reviews ({(reviews_count)})
</NavItem>
</Nav>
<Tab.Content className="clearfix" animation data-toggle={"tab"} unmountOnExit={true} id="inner_tab">
<Tab.Pane eventKey="review" unmountOnExit={true}>
<ProductReviewWidget product={product} translations={this.props.translations} getTranslation={this.props.getTranslation}/>
</Tab.Pane>
</Tab.Content>
</div>
</Tab.Container>
</div>
);
}
jedoch alles funktioniert gut, wenn ich es aus dem Bootstrap-Tab bewegen sich wie so:
render() {
const { product, reviews, questions } = this.props;
const productId = product.num_iid;
let reviews_count = 0;
for (let i = 0; i < (reviews[productId] || []).length; i++){
if(!reviews[productId][i].only_vote){
reviews_count ++;
}
}
return (
<div>
<ProductReviewWidget product={product} translations={this.props.translations} getTranslation={this.props.getTranslation}/>
</div>
);
}
Ich bin mir nicht sicher, ob dies hilft. Aber haben Sie versucht, '' und '' zu debuggen, um zu sehen, ob sie die Ereignisse überhaupt erfassen? Ein Grund, an den ich denken kann, ist, dass das Tabfenster das Ereignis nicht an weitergibt –