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 (
<AMUIAvgGrid sm={2} className="am-thumbnails">
{ // 选择金额按钮模块
this.state.lists.map(function(value,index,array){
return <Item
key={'key'+index}
data={value.data}
addClass={this.state.addClass}
onClick={this.handleItemClick} ></Item>
}.bind(this))
}
</AMUIAvgGrid>
);
}
});
// 悬赏金额按钮循环模块
var Item = React.createClass({
handleClick:function(){
this.props.onClick(this.props.data,this.props.addClass)
},
render:function(){
return (
<li>
<AMUIButton
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}元
</AMUIButton>
</li>
)
}
});
react事件处理及动态样式添加的更多相关文章
- 前端笔记之React(三)使用动态样式表&antd&React脚手架&props实战
一.使用动态样式表 1.1 LESS使用 全局安装Less npm install -g less 创建1.less文件,然后可以用lessc命令来编译这个文件: lessc 1.less 1.css ...
- 深入理解脚本化CSS系列第五篇——动态样式
前面的话 很多时候,DOM操作比较简单明了,因此用javascript生成那些通常原本是HTML代码生成的内容并不麻烦.但由于浏览器充斥着隐藏的陷阱和不兼容问题,处理DOM中的某些部分时要复杂一些,比 ...
- DOM动态脚本和动态样式
动态脚本 [定义] 在页面加载时不存在,但将来的某一时刻通过修改DOM动态添加的脚本. [方式] [1]插入外部文件方式 var script = document.createElement(&qu ...
- Less (一种动态样式语言)
Less (一种动态样式语言). LESS是一种由Alexis Sellier设计的动态层叠样式表语言,受Sass所影响,同时也影响了 Sass的新语法:SCSS. LESS是开源的,其第一个版本由R ...
- vue中动态样式不起作用? scoped了解一下
vue中style标签使用属性scoped的注意事项 style上添加属性scoped可以实现样式私有化,但是在使用动态样式时,样式会不起作用.可以先去掉scoped
- DOM操作技术之动态脚本与动态样式(兼容版)
动态脚本 使用<script>元素可以向页面中插入Javascript代码,一种方式是通过其src特性包含外部文件,另一种方式就是用这个元素本身来包含代码. 而我们要说的动态脚本,指的是在 ...
- less 一种 动态 样式 语言
LESS « 一种动态样式语言 http://www.bootcss.com/p/lesscss/ 一种 动态 样式 语言. LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承,运算, 函数 ...
- vue基础-动态样式&表单绑定&vue响应式原理
动态样式 作用:使用声明式变量来控制class和style的值 语法: :class/:style 注意:尽可能不要把动态class和静态class一起使用,原因动态class起作用的时间会比较晚,需 ...
- winform 用户控件、 动态创建添加控件、timer控件、控件联动
用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...
随机推荐
- 概念:详细讲解url和路由概念
例如:一个网址为 http://www.abc.com/aa 定义:/aa = bb/cc/dd 那么:http://www.abc.com/aa就是一个url,那么我们可以得出:网址=url 而当我 ...
- ubuntu linux double tab
在terminal中,输入部分指令,再按两下Tab键,可以显示以相关的指令
- VR社交软件测试-AltspaceVR
该VR社交软件中的主界面主要分为,Events:事件:Activities:多人游戏:Words:别人创建的虚拟世界.进入游戏后可以进入场景与世界各地的人进行交谈,以虚拟3D人物的方式显示用户,具有较 ...
- ABI and compiler
http://stackoverflow.com/questions/2171177/what-is-application-binary-interface-abi ABIs cover detai ...
- 离线安装vscode vsix插件
VS代码扩展市场 通过扩展增强Visual Studio代码的强大功能 https://marketplace.visualstudio.com/vscode Visual Studio Code包含 ...
- 2018年第九届蓝桥杯【C++省赛B组】第三题 乘积尾零
如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 43292758 7949 6113 5659 ...
- unity简单例子
1. https://www.cnblogs.com/chengxuzhimei/p/4992106.html 2.https://www.cnblogs.com/GreenLeaves/p/7086 ...
- python2.7 加密模块 解决各种坑
1 Python27 安装crypto Windows安装 在Windows上安装的时候直接 pip install pycrypto会报错,参考:http://blog.csdn.net/teloy ...
- 3.Mysql集群------Mycat分库分表
前言: 分库分表,在本节里是水平切分,就是多个数据库里包含的表是一模一样的. 只是把字段散列的分到不同的库中. 实践: 1.修改schema.xml 这里是在同一台服务器上建立了4个数据库db1,db ...
- =>符号的意义
=> 是 Oracle 中调用存储过程的时候, 指定参数名进行调用.一般是, 某些参数有默认值的时候,你需要跳过某些参数来进行调用. 下面是具体的例子. 参数的默认值SQL> CREATE ...