初学ReactJS,写了一个RadioButtonList组件

简介:
1  <! DOCTYPE html >
 2  < html >
 3  < head >
 4      < title >React Demo </ title >
 5      < meta  charset ="utf-8"   />
 6  </ head >
 7  < body >
 8      < script  src ="Scripts/react.js" ></ script >
 9      < script  src ="Scripts/JSXTransformer.js" ></ script >
10      < div  id ="container1" ></ div >
11      < div  id ="container2" ></ div >
12      < script  type ="text/jsx" >
13          var RadioButton = React.createClass({
14             render:  function(){
15                  return (
16                     <label htmlFor={ this.props.id}>
17                         <input type="radio"
18                                id={ this.props.id}
19                                name={ this.props.name}
20                                value={ this.props.value}
21                                checked={ this.props.checked}
22                                onChange = { this.handleChange}/>
23                         { this.props.text}
24                     </label>
25                 );
26             },
27             handleChange:  function(event){
28                  this.setState({selectedValue: event.target.value});
29                  if( this.props.onSelectedValueChanged){
30                      this.props.onSelectedValueChanged(event);
31                 }
32             }
33         });
34 
35          var RadioButtonList = React.createClass({
36                 render:  function(){
37                      return (
38                         <span className="radioButtonList">{ this.renderRadionButtons()}</span>
39                     );
40                 },
41                 renderRadionButtons:  function(){
42                      return  this.props.listItems.map( function(item, index){                 
43                          return (<RadioButton id={ this.props.name + "_" + index} 
44                                      name={ this.props.name} 
45                                      value={item.value||item}
46                                      text = {item.text||item}
47                                      checked={ this.state.selectedValue == (item.value||item)}
48                                      onSelectedValueChanged = { this.onSelectedValueChanged}/>);
49                     }.bind( this));
50                 },
51                 getInitialState:  function(){
52                      return {selectedValue:  this.props.selectedValue};
53                 },
54                 onSelectedValueChanged:  function(event){
55                      this.setState({selectedValue: event.target.value});
56                 }
57             });
58             React.render(<label  for="province">Province:<RadioButtonList name="province" listItems={["Jiangsu","Zhejiang","Shanghai"]} selectedValue="Shanghai" /></label>, document.getElementById("container1")) ;
59             React.render(<label  for="gender">Gender:<RadioButtonList name="gender" listItems={[{value:"M", text:"Male"}, {value:"F", text:"Female"}]} selectedValue="F" /></label>, document.getElementById("container2"))
60  </ script > 
61  </ body >
62  </ html >
复制代码


作者:蒋金楠
微信公众账号:大内老A
微博: www.weibo.com/artech
如果你想及时得到个人撰写文章以及著作的消息推送,或者想看看个人推荐的技术资料,可以扫描左边二维码(或者长按识别二维码)关注个人公众号(原来公众帐号 蒋金楠的自媒体将会停用)。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
相关文章
|
7月前
|
设计模式 前端开发 数据可视化
【第4期】一文了解React UI 组件库
【第4期】一文了解React UI 组件库
387 0
|
7月前
|
存储 前端开发 JavaScript
【第34期】一文学会React组件传值
【第34期】一文学会React组件传值
80 0
|
7月前
|
前端开发
【第31期】一文学会用React Hooks组件编写组件
【第31期】一文学会用React Hooks组件编写组件
83 0
|
7月前
|
存储 前端开发 JavaScript
【第29期】一文学会用React类组件编写组件
【第29期】一文学会用React类组件编写组件
83 0
|
7月前
|
前端开发 开发者
【第26期】一文读懂React组件编写方式
【第26期】一文读懂React组件编写方式
70 0
|
7月前
|
资源调度 前端开发 JavaScript
React 的antd-mobile 组件库,嵌套路由
React 的antd-mobile 组件库,嵌套路由
132 0
|
7月前
|
存储 前端开发 中间件
React组件间的通信
React组件间的通信
59 1
|
7月前
|
前端开发 JavaScript API
React组件生命周期
React组件生命周期
131 1
|
7月前
|
存储 前端开发 JavaScript
探索 React Hooks 的世界:如何构建出色的组件(下)
探索 React Hooks 的世界:如何构建出色的组件(下)
探索 React Hooks 的世界:如何构建出色的组件(下)
|
7月前
|
缓存 前端开发 API
探索 React Hooks 的世界:如何构建出色的组件(上)
探索 React Hooks 的世界:如何构建出色的组件(上)
探索 React Hooks 的世界:如何构建出色的组件(上)