zoukankan      html  css  js  c++  java
  • 初学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>

  • 相关阅读:
    缩略图架构实现
    基于GDAL实现的PCA变换(主成分分析)
    【OpenGL】GLSL中的函数和子程序(subroutines)
    【OpenGL】关于OpenGL中Bind函数的理解
    使用MTL库求解矩阵特征值和特征向量
    C#键盘事件列表
    C#用 SendKyes 结合 Process 或 API FindWindow、SendMessage(PostMessage) 等控制外部程序
    什么是句柄
    在DLL中产生对话框的方法一(Win32 DLL)
    C# 四舍五入
  • 原文地址:https://www.cnblogs.com/artech/p/react-demo-radio-button-list.html
Copyright © 2011-2022 走看看