css点击事件改变css的样式属性(点击后的样式)
react点击时改变样式的方法如下:1。通过setState中的回调函数实现点击切换状态时执行的函数;2.通过”
本课程的运行环境:react的react18.0.0版本的Windows S10系统和Dell G3电脑。
点击时React如何改变样式?
React单击/悬停以修改CSS样式
(1)点击修改样式
方法一:(打字稿写作)
type state = { selected: boolean; }; class Measurement extends Component<{}, state> { constructor(props:any) { super(props); this.state = { selected: false }; } handleClick = (e:any) => { this.setState({ selected: !this.state.selected }, () => { if(!this.state.selected){ this.clearAll(); } }); } private rightBtnStyle: CSSProperties = { background:"url(/assets/images/3.png) no-repeat center", border: "none", color: "white" }; private rightBtnStyle2: CSSProperties = { background:"url(/assets/images/1.png) no-repeat center", border: "none", color: "white" }; //省略具体功能 render() { var currentstyle; if(this.state.selected){ currentstyle=this.rightBtnStyle2; } else{ currentstyle=this.rightBtnStyle; } return( <div className="tool-widget"> <Popover placement="left" content={this.content} trigger="click"> <Button className="right-btn" style={currentstyle} onClick={this.handleClick.bind(this)}></Button> </Popover> </div> ); } };PS:这里点击开关状态时执行的功能可以通过setState中的回调函数来实现。
方法2:(动态添加类名)
用下面的替换上面的渲染
render() { return ( <div className="tool-widget" id="Measurement"> <Popover placement="left" content={this.content} trigger="click"> <Button className={["right-btn", this.state.selected ? "active":null].join(' ')} onClick={this.handleClick.bind(this)}></Button> </Popover> </div> ); }添加相应的css文件:
#Measurement { .right-btn{ background:url(./images/3.png) no-repeat center; border:none; color: white; width:100%; height: 100% } .right-btn.active{ background:url(./images/1.png) no-repeat center; } }推荐学习:react视频教程
代办报建
本公司承接江浙沪报建代办施工许可证。
联系人:张经理,18321657689(微信同号)。
19条评论
不错的帖子,值得收藏!http://n596.aishoukje.com
不错哦,楼主这是要火的节奏啊!http://pnwzf9.jsjxxw.com
楼主看起来很有学问!http://1g84.fsronggu.com
楼主发几张靓照啊!https://njsvl.com/yingyong/1169.html
楼上的心情不错啊!http://ytcwf.hesenwushidai.com
看帖回帖一条路!http://lwb.sjzyinghan.com
楼主的文笔不错!http://x55a.junan555.com
楼主是一个神奇的青年!http://da6zf.js12345.net
在这个版块混了这么久了,第一次看见这么给你的帖子!http://6az.xjsdrj.com
很有品味!http://7szol.hb-tyqc.com
视死如归的架势啊!http://ui2wfe.gzshunwei.com
支持一下,下面的保持队形!http://iqrwco.fx9f.com
这么版块的帖子越来越有深度了!http://2hvy3.zhijian.meszscdw.com
终于看完了,很不错!http://www.guangcexing.net/voddetail/pBcjfceGuxKTq.html
好无聊啊!http://www.guangcexing.net/dvd/YFxRYmYWtaP.html
经典,收藏了!https://www.skypeis.com/
在哪里跌倒,就在那里多爬一会儿!https://www.skypeis.com/
观点鲜明,立场坚定,作者态度明确。https://www.telegramem.com/
这么版块的帖子越来越有深度了!https://www.telegramip.com/
发表评论