将onclick添加到UI材质按钮

2023-12-13

我正在尝试将 onClick 事件处理程序添加到材质 ui 中,有时会调用它,有时不会。但是,它与常规按钮一起工作正常

 handleClick = (event) => {
    const value = event.target.value;
    console.log(value);
    this.setState({ filtered: this.state.videos.filter(item => { 
            return item.category === value
        })
    })

<Button value="java" onClick={this.handleClick}  color="primary">Java</Button> 
<Button value="React" onClick={this.handleClick} color="primary">React</Button> 
<Button value="C#" onClick={this.handleClick}  color="primary">C#</Button> 
<Button value="javascript" onClick={this.handleClick} color="primary">JavaScript</Button> 

当我更新到 console.log 来获取 event.target 时,我得到了下图所示的结果 我发现了这个问题,但仍然不知道如何解决它。 React向按钮添加了两个没有属性名称的span,因此当我单击按钮时,该函数会被调用,但当我单击span时则不会

enter image description here


您可以使用event.currentTarget.value代替event.target.value.

Material-uiButton有一个嵌套的span在 - 的里面button,所以当你使用event.target.value用户点击span你得到span as event.target,如果你想使用event.currentTarget您将获得事件侦听器附加到的元素 - 按钮。

查看一个工作示例:https://codesandbox.io/s/cocky-cookies-s5moo?file=/src/App.js

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将onclick添加到UI材质按钮 的相关文章

随机推荐

  • 在 Azure Cosmos DB Graph API 中添加或获取顶点

    使用 Gremlin 我可以通过发出以下命令在 Azure Cosmos DB 图中创建顶点 g addV the label property id the id 然后使用找到它 g V the label has id the id 但
  • 无法在 XNA 中隐式转换类型

    我有一个弹跳球 我试图让它弹跳一次时 速度会变得更高 在我的球课上 我有一个float speed 我初始化了它 public ball float speed speed 1f 我有一个球运动的方法 如下所示 public void Ba
  • Firebase 注销不起作用

    我已经开始使用 Firebase 但我的体验很糟糕 我无法注销用户 我尝试了不同的方法 花了 4 天的时间来弄清楚如何注销用户 但没有明确的选项 我想完全指出用户 以便他们可以选择另一个 gmail 帐户 我试过下面的代码 Firebase
  • AWS Lex - 默认插槽类型没有限制

    在 AWS Lex 中 我使用默认的 AMAZON Country 作为槽类型 但是 当我与测试机器人交互时 我可以输入任何值 例如 我不知道 并且当我检查响应时 JSON 表示 国家 地区 的值为 我不知道 槽类型的目的是将答案限制为现有
  • 在 Tensorflow 数据集 api 中:如何使用 padded_batch 以便在不指定 pad 数量的情况下使 pad 具有特定值

    如果您不指定padding values then padded batch将自动填充 0 但是 如果您想要不同的值 例如 1 则不能只设置padded batch 1 您需要为每个需要填充的槽输入一个序列 但是 我正在使用一个数据集 该数
  • C# Regex 使用函数进行匹配和替换

  • 为什么 Google Fit 步数不同

    我使用 Sensor API 来计算步数 我发现它与 Google Fit 应用程序不同 Google Fit 应用程序是否使用 Sensor API 其他功能 代码片段 Fitness SensorsApi add mGoogleApiF
  • 如何在输入文本字段中仅允许阿拉伯字符?

    我已经在这里搜索并找到了与这篇文章相关的类似帖子 但我还没有找到解决方案 我试过这个 text hello echo is arabic preg match p Arabic u text 我添加了 unicode 标志 但如果我添加任何
  • 即使对于简单的整数值,if 语句也始终返回 true

    我面临的问题是 对于每个值 我的 If 语句始终返回 true var radioValue parseInt input name packageRadio checked val alert radioValue 1000 500 1
  • 从 UIImagePickerController 获取 NSURL

    我试图获取通过 uiimagePickerController 选择的图像的文件路径 以便将文件上传到 Firebase 存储 func imagePickerController picker UIImagePickerControlle
  • 寻找最后一个符合条件的单元格(水平)

    我试图在 Google Sheets 中找到一种方法来根据某些条件返回最后一个单元格 我已包含下表 Jan Feb March April LATEST SALE group 1 sale sale no sale sale April g
  • 适用于 Java 和 Javascript 的兼容 AES 算法

    我需要使用 AES 算法加密 Java 应用程序中的一些值 并在应用程序的 Javascript 模块中解密相同的值 我在互联网上看到了一些示例 但兼容性似乎存在一些差异 就像下面的问题 javascript中的AES加密和java中的解密
  • 将绝对位置转换为相对位置

    是否可以将 DIV 位置从绝对位置更改为相对位置 以及从相对位置更改为绝对位置 DIV 应保留在同一位置 因为评论中的格式不起作用 我将在这里发布解决方案 object css position absolute top dy left d
  • Web 服务器的 .cgi 问题

    The code usr bin env python import MySQLdb print Content Type text html print print print print h1 Books h1 print ul con
  • sparql:为每个节点随机选择一个连接

    我有以下数据
  • 我有 DEVINST,我需要设备路径

    我正在尝试打开属于复合设备一部分的 WinUSB 设备 我已使用 cfgmgr32 找到了正确的子设备 并有其 DEVINST 编号 为了使用 WinUSB 打开它 我需要首先调用 CreateFile 为此我需要设备路径 设备路径如下所示
  • 如何使用 Web 服务访问 Sharepoint 中的子站点列表?

    在尝试使用 Web 服务 在 powershell 上 访问我的共享点网站时 我遇到了以下配置的问题 我的网站位于https sharepoint company tld sites siteid WSDL 是从以下位置获取的https s
  • 如何在 yii 中安装 bootstrap 扩展

    我是 yii 的新手 一直在尝试向 yii 添加 bootstrap 和 giiplus 扩展 但是 在将提取的文件添加到扩展文件夹并在 main php 中进行更改后 我似乎无法在显示主页时出现错误 我按照这个教程 http www cn
  • 拆分值对并使用 UDF 创建表

    我一直在尝试编写一个表值函数 它将值对作为参数并返回一个包含两列的表 下面是我想要做的函数签名 FUNCTION dbo ValuePairParser DelimitedValuePairs VARCHAR MAX Delimiter C
  • 将onclick添加到UI材质按钮

    我正在尝试将 onClick 事件处理程序添加到材质 ui 中 有时会调用它 有时不会 但是 它与常规按钮一起工作正常 handleClick event gt const value event target value console