初学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
如果你想及时得到个人撰写文章以及著作的消息推送,或者想看看个人推荐的技术资料,可以扫描左边二维码(或者长按识别二维码)关注个人公众号(原来公众帐号蒋金楠的自媒体将会停用)。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文链接

时间: 2024-08-26 14:43:17

初学ReactJS,写了一个RadioButtonList组件的相关文章

java代码-初学android写的一个通过线程实现“幸运8”的游戏遇到个问题

问题描述 初学android写的一个通过线程实现"幸运8"的游戏遇到个问题 刚刚开始学习android程序的开发,参照教材自行写了一个"幸运8"的游戏,可一运行手机就会弹出"幸运8已停止运行"的提示,请各位大神教教小弟代码哪里出错了···感激万分 package com.luck8; import com.luck8.R; import android.app.Activity; import android.os.Bundle; import

一个Winsock组件

我自己写了一个Winsock组件,很简单,将带发送的报文发给指定IP的指定端口,并返回应答报文.技术粗糙, 请大家指教.附源码如下: ------------------------------------- VERSION 1.0 CLASSBEGIN  MultiUse = -1  'True  Persistable = 0  'NotPersistable  DataBindingBehavior = 0  'vbNone  DataSourceBehavior  = 0  'vbNon

初学java,自己用java写了一个简单的注册登录程序,没报错但有问题,希望能帮忙指点。

问题描述 初学java,自己用java写了一个简单的注册登录程序,没报错但有问题,希望能帮忙指点. import java.util.Scanner; class Yanzheng{ private String n; private String p; public void setNa(String na){ this.n = na; } public void setPa(String pa){ this.p = pa; } public String getNa(){ return n;

初学Java写的第一个多线程程序

程序|初学|多线程 /** 文件名 : FirstTread.java 描述 :初学Java写的第一个多线程程序 作者: 慈勤强 cqq1978@yeah.net 参考:http://java.sun.com **/ import java.io.*;import java.net.*; public class FirstTread extends Thread{ public void run() { int i=0; try { String hostname = "www.flashem

为你的ASP程序制作一个编译组件(上)

编写定制的Active Server Page(ASP)代码来完成一些任务,比方说数据库访问的能力是重要的.但是,一个由脚本写成的解决方案最明显的问题就是性能.在这篇文章中,我将向你展示如何将一个数据库对象的脚本版本转换成一个动态链接库(dll),或是就象它的通常的名字,一个COM组件.为了生成这个编译版本,我将使用Visual Basic 6 service pack 4.我曾经向你展示了如何创建一个VBScript对象来简化对数据源的访问.因为这个对象有可能被大量使用,所以它是一端理想的可以

一个用组件动态创建Excel文件的实例

excel|创建|动态 一个用组件动态创建Excel文件的实例    在精华区中有一篇关于在ASP中动态创建的Excel文章, 但实际上我们会发现如果我们在ASP中用Set MyExcelChart = server.CreateObject("Excel.Sheet")是行不通的. 这样做的话会出现如下的错误信息:Only InProc server components should be used. If you want to use LocalServer component

怎样在不使用框架的基础上开发一个 Javascript 组件

本文讲的是怎样在不使用框架的基础上开发一个 Javascript 组件, 许多开发者(包括我)犯的一个错误是当遇到问题时他们总是自上而下地考虑问题.他们想问题的时候,总是从考虑框架(Framework),插件(Plugin),预处理器(Pre-processors),后处理器(Post-processors),面向对象模式(objected-oriented patterns)等等这些方面出发,他们也可能会从他们以前看过的一篇文章来考虑.而这时如果有一个生成器(Generator)的话,他们当然

[ASP.NET MVC]为HtmlHelper添加一个RadioButtonList扩展方法

在前面一篇文章中,我们通过对HtmlHelper的扩展简化了对DropDownList(Single-Line-Select)和ListBox(Multiple-Line-Select)的绑定,以及对作为数据源的列表进行单独维护.现在我们为HtmlHelper/HtmlHelper<Model>添加一个RadioButtonList/RadioButtonListFor扩展方法实现一组RadioButton的绑定.[源代码从这里下载] 一.RadioButtonListFor的使用 我们先来显

用C#写了一个SLE4442加密卡充值售电软件,源代码中包含写卡密码,C#源码可用.Net Reflector 反编译的话,那写卡密码岂不是很容易泄露

问题描述 用C#写了一个SLE4442加密卡充值售电软件,源代码中包含写卡密码,C#源码可用.NetReflector反编译的话,那写卡密码岂不是很容易泄露.请问如何解决这个问题.谢谢大家. 解决方案 解决方案二:你的充值售电软件会网上公开吗解决方案三:引用1楼andywangguanxi的回复: 你的充值售电软件会网上公开吗 不在网上公开,但是,如果我们当地的同行业竞争对手搞到我们的软件(那是很容易的),而后反编译,那就可以仿造我们的产品,以低价争抢我们原有的客户资源,那是很危险的.解决方案四