当前位置: 首页 > 知识库问答 >
问题:

用钩子对表进行反应,使表内的输入失去焦点?

姬昀
2023-03-14

CodeSandBox:https://codesandbox.io/embed/react-table-editable-content-ggvcy

当试图处理React表中的输入时,我的输入失去焦点,因此一次只能键入1个字符。

如何修复我的渲染周期,以允许输入?

编辑:我不小心用工作版本的代码更新了沙盒,尽管它还有另一个bug:如何在刷新更新期间捕获由于焦点模糊更改而导致的react事件?

共有2个答案

杜俊晤
2023-03-14

将自动对焦添加到输入对我有效。

姬熙云
2023-03-14

这个问题相当隐蔽:当您将“单元”渲染道具传递给react表时,它将被视为react组件。这意味着他们会像这样使用:

这意味着,在每个渲染中,您将创建一个新的组件渲染可编辑,这样当显示更改时,旧的渲染可编辑将被卸载,新的渲染可编辑将取而代之。这是不幸的,因为内部输入会失去焦点。

你能做的是要么像这样使用旧版本(没有钩子):https://github.com/tannerlinsley/react-table/blob/8b07b2c84e0ee29e0ecaa4fe23e96e864ab806a9/archives/v6-examples/react-table-editable-content/src/index.js

或者像这样一直使用钩子:https://github.com/tannerlinsley/react-table/blob/5145a632c944d135863d8a2f14a160a2f9395f61/examples/editable-data/src/App.js

 类似资料:
  • 我遇到了一个奇怪的错误,我的搜索输入组件,它失去了对每个按键的关注,不知道为什么。 我还得到了一个

  • 我正在编写文本输入,并在事件中调用,因此React重新呈现我的UI。问题是文本输入总是失去焦点,所以我需要为每个字母重新聚焦:D。

  • 问题内容: 我正在尝试了解钩子功能,但是我似乎还不太清楚如何正确使用该函数。据我从有关钩子的规则中了解到的,我应该将它们称为顶级,而不是在逻辑(如循环)之内。这让我很困惑,应该如何在从循环渲染的组件上实现。 看一下下面的示例代码片段,在该代码片段中,我创建了5个带有处理程序的按钮,该处理程序将按钮的编号输出到控制台。 现在,由于我在中使用arrow函数,因此每次在Example呈现时都会创建一个新

  • 这里我使用的是react hooks状态 在这里,我试图改变来自API的默认值。但是,我不能在改变方法上改变。 谢谢

  • 在阅读了React设置焦点和带有超时的React焦点后,我仍然有点困惑,在输入上设置的正确跨浏览器选项是什么。 我有一个问题与条件渲染输入可能有焦点后渲染在,其中放置在。 1)解决方案与组件didUpdate: 此解决方案适用于Chrome、IE11、Edge,但不适用于最新的Firefox(单击后,输入事件不会出现)。 2)解决方案与请求动画帧: 该解决方案适用于Chrome、IE11、Edge

  • 本文向大家介绍JS使用正则表达式判断输入框失去焦点事件,包括了JS使用正则表达式判断输入框失去焦点事件的使用技巧和注意事项,需要的朋友参考一下 效果图 项目的正则表达式规则 1:用户名: 大写字母开头 6-20位字符(不允许有符号但是允许有_) 2:密码 大写开头 数字字母符号混合 8-15位 3:确认密码 大写开头 数字字母符号混合 8-15位 4:邮箱 邮箱格式 5:手机号 手机号格式 6:身