React(0.13) 다중 선택 구성 요소 정의

4483 단어
<!DOCTYPE html>
<html>
    <head>
        <title>React JS</title>
        <script src="../build_0.13/react.js"></script>
        <script src="../build_0.13/JSXTransformer.js"></script>
    </head>
    <body>
        <div id="example">
        
        </div>
        
        <script type="text/jsx">
            var MySelect = React.createClass({
                    // 
                    getInitialState:function(){
                        return {options:['B']};
                    },
                    handleChange:function(event){
                        var checked = [];
                        var sel = event.target;    // DOM 
                        for(var i=0; i<sel.length; i++){
                            var option = sel.options[i];
                            if(option.selected){
                                checked.push(option.value);
                            }
                        }
                        // options 
                        this.setState({
                            options:checked
                        });
                    },
                    submitHandler:function(event){
                        event.preventDefault();    // 
                        alert(this.state.options);
                    },
                    render:function(){
                        return (
                            <form onSubmit={this.submitHandler}>
                                <select multiple="true" value={this.state.options} onChange={this.handleChange}>
                                    <option value="A">First Option</option>
                                    <option value="B">Second Option</option>
                                    <option value="C">Third Option</option>
                                </select>
                                <br/>
                                <button type="submit">Speak</button>
                            </form>
                        );
                    }
                    
                
                });

            // 
            React.render( <MySelect />, document.getElementById('example') );
        </script>
    </body>
</html>

참고:
  1.React 안의 값을 html 동적 값으로 사용할 때 값에 인용부호를 추가하지 마십시오. 예를 들어value="{this.state.options}"또는onChange="{this.handleChange}"두 가지 방법은 모두 틀렸습니다.

좋은 웹페이지 즐겨찾기