react动态增加state_react事件处理及动态样式添加

多数据的事件绑定,循环数据来进行绑定。如下方式就是循环绑定事件的基本代码:

this.state.lists.map(function(value,index,array){

//代码片段

}.bind(this))

这里是一块事件绑定的例子,可以点击按钮,点击的那个按钮来实现选中的状态,并且可获取点击按钮的值:

var Ask = React.createClass({

getInitialState: function() {

return {

lists:[//初始化button里面的值,即钱的值

{data:8},

{data:28},

{data:88}

],

addClass: false//用于添加class

}

},

handleItemClick:function(item,addClass){

var that = this;

// 点击按钮改变样式

that.setState({

addClass: item

});

},

render: function() {

return (

{// 选择金额按钮模块

this.state.lists.map(function(value,index,array){

return

key={'key'+index}

data={value.data}

addClass={this.state.addClass}

onClick={this.handleItemClick} >

}.bind(this))

}

);

}

});

// 悬赏金额按钮循环模块

var Item = React.createClass({

handleClick:function(){

this.props.onClick(this.props.data,this.props.addClass)

},

render:function(){

return (

amStyle="secondary"

className={this.props.addClass == this.props.data ? 'am-icon-check' : ''}

//this.props.addClass == this.props.data相等的话就显示am-icon-check样式

//this.props.data可以跟踪具体是哪一个button

//点击事件里面会传this.props.addClass过去,这个值的可随意设置一个初始值默认

//例如我在getInitialState方法里面传入的是false

//在handleItemClick方法里面可以确定具体点击的哪一个button

//当点击按钮的时候会将点击的当前按钮的this.props.data赋值给对应的this.props.addClass

//这时候class就可以动态切换了

block

onClick={this.handleClick}>

{this.props.data}元

)

}

});

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值