You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Material TextField如何检测移动端键盘回车/提交事件

问题描述

我正在使用React DOM/Web进行开发,依赖版本如下:

"react": "^18.2.0",
    "react-dom": "^18.2.0",
    "@mui/material": "^5.9.2",

以下是我编写的简单文本框代码:

import { TextField } from "@mui/material";
...
...
<TextField
    onSubmitEditing={onSubmitEditing}

我原本以为React Material的TextField会像React Native一样拥有onSubmitEditing属性,但使用后出现如下错误:

Warning: Unknown event handler property `onSubmitEditing`. It will be ignored.

在浏览器或移动端模拟器中按下回车键也没有任何反应,请问该如何检测移动端键盘的回车/提交事件?

解决方案

MUI的TextField是Web端React组件,不存在React Native的onSubmitEditing属性。要检测回车/提交事件,可采用以下两种方案:

  • 监听onKeyDown事件:判断按键是否为回车键,触发提交逻辑

    <TextField
      onKeyDown={(e) => {
        if (e.key === 'Enter') {
          onSubmitEditing();
        }
      }}
    />
    
  • 结合form标签使用onSubmit事件:将TextField包裹在form标签内,按下回车会自动触发表单提交,同时阻止默认行为避免页面刷新

    <form onSubmit={(e) => {
      e.preventDefault();
      onSubmitEditing();
    }}>
      <TextField />
    </form>
    

第二种方案更符合Web表单的语义化设计,推荐优先使用。

内容的提问来源于stack exchange,提问作者Dickens A S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 21:22:12