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

简介: React JS var MySelect = React.
<!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}",这两种写法都是错的。

目录
相关文章
|
3月前
|
设计模式 前端开发 数据可视化
【第4期】一文了解React UI 组件库
【第4期】一文了解React UI 组件库
100 0
|
3月前
|
存储 前端开发 JavaScript
【第34期】一文学会React组件传值
【第34期】一文学会React组件传值
31 0
|
3月前
|
前端开发
【第31期】一文学会用React Hooks组件编写组件
【第31期】一文学会用React Hooks组件编写组件
35 0
|
3月前
|
存储 前端开发 JavaScript
【第29期】一文学会用React类组件编写组件
【第29期】一文学会用React类组件编写组件
30 0
|
3月前
|
前端开发 开发者
【第26期】一文读懂React组件编写方式
【第26期】一文读懂React组件编写方式
28 0
|
3月前
|
资源调度 前端开发 JavaScript
React 的antd-mobile 组件库,嵌套路由
React 的antd-mobile 组件库,嵌套路由
40 0
|
2月前
|
存储 前端开发 中间件
React组件间的通信
React组件间的通信
17 1
|
2月前
|
前端开发 应用服务中间件 数据库
react服务端组件
react服务端组件
21 0
|
2月前
|
前端开发 JavaScript
快速上手React:从概述到组件与事件处理
快速上手React:从概述到组件与事件处理
|
3月前
|
前端开发 JavaScript API
React组件生命周期
React组件生命周期
74 1