2023react怎么实现点击时改变样式

 所属分类:web前端开发

 浏览:173次-  评论: 0次-  更新时间:2023-01-09
描述:更多教程资料进入php教程获得。 react实现点击时改变样式的方法:1、通过setState中的回调函数实现点击切换状态时所执行的功能;2、通过“<...
更多教程资料进入php教程获得。

react实现点击时改变样式的方法:1、通过setState中的回调函数实现点击切换状态时所执行的功能;2、通过“<Button className={["right-btn", this.state.selected ? "active":null].join(' ')} onClick={this.handleClick.bind(this)}”动态添加className。

本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。

react怎么实现点击时改变样式?

React点击/hover修改CSS样式

(1)点击修改样式

方法一:(typescript写法)

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中的回调函数实现。

方法二:(动态添加className)

上述render换成如下

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视频教程》

以上就是react怎么实现点击时改变样式的详细内容,更多请关注zzsucai.com其它相关文章!

 标签: react,
积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!