react中material-ui中Button组件点击获取自定义属性

发布于 2022-09-07 20:44:29 字数 1410 浏览 15 评论 0

问题描述

就是使用react material-ui 自带的<Button> 绑定一个点击事件 获取<Button isT='true'> 其中自定义的属性 isT

问题出现的环境背景及自己尝试过哪些方法

出现的问题就是这个<Button>组件其中包含 span 和 font都跟着被绑定了点击事件 点击时会触发他们返回不了Button中的属性,阻止冒泡 默认事件都加了,代码了能看见,

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

import React from "react"
import Button from "@material-ui/core/Button"
class TestButtonEvent extends React.Component {
    constructor(props){
        super(props)
        this.state={

        }
    }
    handleClick(event){
        // event.stopPropagation();
        event.nativeEvent.stopImmediatePropagation();
        // event.preventDefalut()
        // alert(event.targrt.nodeName);
        console.log("0:"+event.target.nodeName)
        console.log("1:"+event.target.isTrue)
        console.log("2:"+event.target.getAttribute("isTrue"))
        }
    render(){
        
        return(
            <Button  size="large" isTrue="true" variant="contained" color="primary" onClick={this.handleClick.bind(this)}>123</Button>
            )
    }
}
export default TestButtonEvent

你期待的结果是什么?实际看到的错误信息又是什么?

期待的就是 使用event.target.isTrue能返回值

clipboard.png
因为 span是按钮的中间部分 所以点击中间会返回span的属性可是没有我的自定义属性于是undefine null ,点到button的边边就能正确触发

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文