2016-04-06 20 views
0

ich eine universelle Anwendung aus der In einem meiner Komponenten https://github.com/kriasoft/react-starter-kitReagieren Komponente CSS nicht richtig

basierend reagieren müssen gesetzt wird Ich versuche https://github.com/JedWatson/react-select

ich die CSS aus der kopiert und eingefügt reagieren Auswahl zu implementieren Beispiel Verzeichnis in meine scss-Datei und wenn ich das Modal, das die Auswahl haben soll, ziehen, es ist nur ein gequetscht, winzige, Eingabefeld ohne Styling überhaupt. Nicht sicher, was ich hier vermisse.

import React, { Component, PropTypes } from 'react'; 
import Modal from 'react-modal'; 
import withStyles from 'isomorphic-style-loader/lib/withStyles'; 
import s from './Modal.scss'; 
import SelectField from 'material-ui/lib/select-field'; 
import MenuItem from 'material-ui/lib/menus/menu-item'; 
import Checkbox from 'material-ui/lib/checkbox'; 
import ActionFavorite from 'material-ui/lib/svg-icons/action/favorite'; 
import ActionFavoriteBorder from 'material-ui/lib/svg-icons/action/favorite-border'; 
import TextInput from '../UI/TextInput'; 
import Button from '../UI/Button'; 
import Select from 'react-select'; 

class AddQuestionModal extends Component {  

    createQuestion =() => { 
     this.props.createQuestion(); 
    } 

    closeModal =() => { 
     this.props.close(); 
    } 

    changeText = (val) => { 
     this.props.changeText(val); 
    } 

    changeAnswer = (val) => { 
     this.props.changeAnswer(val); 
    } 

    techSelectChange = (event, index, value) => { 
     this.props.techSelectChange(value); 
    } 

    updateTags = (val) => { 
     this.props.updateTags(val); 
    } 


    levelSelectChange = (event, index, value) => { 
     this.props.levelSelectChange(value); 
    } 

    render() { 
     let multiLine = true; 
     return (
      <Modal 
       isOpen={this.props.open} 
       onRequestClose={this.closeModal}> 

       <h2>New Question</h2> 
       <TextInput 
        hintText="Question" 
        change={this.changeText} 
        multiLine = {true} 
        default = {this.props.question.text} 
       /> 
       <TextInput 
        hintText="Answer" 
        change={this.changeAnswer} 
        multiLine = {true} 
        default = {this.props.question.answer} 
       /> 
       <div> 
        <SelectField 
         value={this.props.question.tech} 
         onChange={this.techSelectChange} 
         floatingLabelText="Technology"> 
         <MenuItem value={"JavaScript"} primaryText="JavaScript"/> 
         <MenuItem value={"Java"} primaryText="Java"/> 
         <MenuItem value={"C#"} primaryText="C#"/> 
         <MenuItem value={".NET"} primaryText=".NET"/> 
         <MenuItem value={"iOS"} primaryText="iOS"/> 
        </SelectField> 
       </div> 
       <div> 
        <SelectField 
         value={this.props.question.level} 
         onChange={this.levelSelectChange} 
         floatingLabelText="Difficulty"> 
         <MenuItem value={"Beginner"} primaryText="Beginner"/> 
         <MenuItem value={"Intermediate"} primaryText="Intermediate"/> 
         <MenuItem value={"Advanced"} primaryText="Advanced"/> 
         <MenuItem value={"Expert"} primaryText="Expert"/> 
        </SelectField> 
       </div> 
       <div> 
        <Select 
         name="tags" 
         options={this.props.question.tags} 
         onChange={this.updateTags} 
         multi={true} 
         allowCreate={true} 
        /> 
       </div> 

       <div className='buttonDiv'> 
        <Button label='Cancel' 
         disabled={false} 
         onSubmit={this.closeModal} 
        /> 
        <Button label='Create Question' 
         disabled={false} 
         onSubmit={this.createQuestion} 
        /> 
       </div> 
      </Modal> 
     ); 
    } 
} 

AddQuestionModal.propTypes = { 
    open : PropTypes.bool.isRequired, 
    close : PropTypes.func.isRequired, 
    question : PropTypes.object.isRequired, 
    createQuestion : PropTypes.func.isRequired, 
    changeText : PropTypes.func.isRequired, 
    changeAnswer : PropTypes.func.isRequired, 
    techSelectChange : PropTypes.func.isRequired, 
    levelSelectChange : PropTypes.func.isRequired, 
    updateTags : PropTypes.func.isRequired 
}; 

export default withStyles(AddQuestionModal, s); 

'./Modal.scss'; ist das Stylesheet, das direkt aus dem GitHub-Beispiel kopiert wird.

Es gibt keine CSS-Optionen, die auf dieses Feld angewendet werden, wenn ich in den Entwicklungstools nachschaue.

screenshot of modal

+0

Konnten Sie einen Screenshot von dem, wie es aussieht oder ein Beispiel? Sagst du, das Modal ist gequetscht oder das Auswahlfeld? Kannst du im Browser nachsehen, welche Stile angewendet werden und von was? – Geraint

+0

@Geraint aktualisiert – erichardson30

Antwort

0

Ich hatte das gleiche Problem das erste Mal habe ich es. Sie müssen die CSS-Datei von react-select importieren.

Beispiel:

require('../../node_modules/react-select/dist/react-select.min.css') 
+0

Ich habe dieses Stylesheet in modal.scss kopiert und es hat keinen Einfluss auf die Auswahl – erichardson30

+0

@ erichardson30 ist dies https://github.com/JedWatson/react-select/blob/master/examples/dist/ example.css die CSS-Datei kopiert? –

+0

Kopierte diese sowie die CSS-Datei im react-select npm-Modul – erichardson30

0

Von dem, was ich sehe, können Sie sich bewerben keine Stile auf die <SelectField />. Versuchen Sie, dem Auswahlfeld className = { s.my-class-name } als Eigenschaft hinzuzufügen.

+0

Dies wird in der SelectField-Komponente behandelt. – erichardson30

+0

Welche Klassen erwarten Sie für welche Elemente? Im Moment, was wird auf diese angewendet? – Geraint

+0

Select Auswählen - Multi ist-durchsuchbar Select-Control Select-Platzhalter Select-Eingang Select-Pfeil-Zone sind alle – erichardson30

Verwandte Themen