2016-04-07 15 views
0

Bir Modal'ın genişliğini% 90 olarak değiştirmek için dialogClassName desteğini kullanıyorum. CSS hiçbir şeyi değiştirmez. Bu style.css'nin diğer tüm sınıflar için iyi çalıştığını doğruladım.react-bootstrap: Modal's dialogClassName prop çalışmıyor

Bu SO question numaralı çözümde çalışmaz. documentation da çalışmıyor.

Yardımlarınız için minnettarım!

modal.js yöntemi işlemek:

render() { 
    return (
     <div> 
     <CardMain openModal={this.handleOpen} 
        {...this.props} /> 

     <Modal 
      show={this.state.open} 
      onHide={this.handleClose} 
      dialogClassName="main-modal" 
     > 

      <ModalMain tabKey={this.state.tabKey} 
         {...this.props} /> 

      <FeedbackForm /> 
     </Modal> 
     </div> 
    ); 
    } 

style.css:

.main-modal { 
    width: 90%; 
} 
+1

Öğeyi denetlediniz ve neden uygulanmadığını kontrol ettiniz mi? Bundan daha fazla önceliğe sahip olan diğer CSS kurallarına sahip olabilirsiniz .. –

+0

Öneriniz için teşekkürler. Bu etiketin sınıfı "ana model kalıcı iletişim" olur. Yani "modal diyalog" onu geçersiz kılmalıdır. Bu yerleşik tepki-önyükleme modal sınıfıdır. Bunu nasıl geçersiz edeceğine dair bir fikrin var mı? – Nico

+0

satır içi CSS stilleri yazabilirsiniz .. Önyükleme kurallarından daha fazla önceliğe sahip olacaktır. Sitenizdeki kuralı belirtebilirsiniz. Kipinizin bir kimliğini kullanarak .SS kimliğine sahip CSS kuralları daha önceliklidir .. Veya özel bir sınıf ekleyebilir ve CSS kuralınızı olası tüm sınıf seçicilere yazabilirsiniz. Seçicilerde kullanılan sınıfların sayısı yüksekse, bu sizin için en uygun olanı kullanır. –

cevap

0

kaynak kodu dialogClassName iletişim bileşen ClassName ayarlamak için kullanılır göre. DialogComponent özelliğini Modal bileşenine geçirebilirsiniz.

Sen Modal docs yılında dialogComponentClass yanındaki satırda dialogComponent açıklamasını okuyabilirsiniz.

+0

Bu çözüm, modalın her css desteğini sıfırdan yeniden tanımlamamı gerektirir. Dokümanların dialogClassName örneğine göre, genişlik gibi spesifikasyonları yeniden tanımlayabilmem gerekir. – Nico

+0

Modal render'da görebileceğiniz gibi (https://github.com/react-bootstrap/react-bootstrap/blob/master/src/Modal.js#L168) bu özellik yalnızca dialogComponent özelliğinden gelen Dialog'a aktarılır. (https://github.com/react-bootstrap/react-bootstrap/blob/master/src/Modal.js#L154). – gyzerok

+0

Ben senin noktasını görüyorum. Ancak, uygularken, tepki-önyükleme Modal'da bulunan css'den hiçbirine sahip olmayan bir model elde ediyorum. Bu yüzden, herşeyi yeniden tanımlamam gerekecek, ki bu arzu edilmez. DialogComponent kullanarak dialogClassName için iyi bir yer değil. – Nico

İlgili konular