• React(0.13) 定义一个多选的组件


    <!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}",这两种写法都是错的。

  • 相关阅读:
    Python设计模式
    Python设计模式
    Python设计模式
    Python设计模式
    Python设计模式
    Python设计模式
    Python设计模式
    Python设计模式
    composer安装以及更新问题,配置中国镜像源。
    PHP使用文件排它锁,应对小型并发
  • 原文地址:https://www.cnblogs.com/yuwensong/p/5319613.html
Copyright © 2020-2023  润新知