javascript - 在 React 中编辑表值后如何重新定位?
问题描述
我使用 React 创建了一个 UI。输入值有两个文本字段,输入并保存后这些值将填充在两个字段下方的表格中(我们使用antd进行设计)。
但是,当我单击表中的单个记录并单击该特定记录中的编辑时,该记录中的数据将填充到上述文本字段中。发生这种情况时,我希望我的应用向上滚动并显示准备好编辑的这两个文本字段。
但目前它在单击编辑后保持在同一位置,没有向上滚动并显示两个文本字段。这是描述我的经历的图像
解决方案
- 基本上,您希望在重新渲染后将焦点设置到某个组件。
- 要引用特定组件,请使用 react refs
对您想要设置焦点的任何内容进行反应参考并将其分配为参考道具
constructor() { super(); this.foo = React.createRef(); } componentDidUpdate() { this.foo.current.focus(); }
<Bar ref={this.foo}> .... </Bar>
foo 是 ref 的名称
- Bar 是您要设置焦点的组件
- 在您的情况下,它可以是两个输入字段或任何一个输入字段的父级
推荐阅读
- docker - Docker 镜像运行不正确的命令
- python - 使用快捷方式打开 tkinter 窗口
- microsoft-graph-api - 使用 Graph API 发送慢速 Outlook 电子邮件
- python - 使用 hough_line 后关于 hough_line_peaks 的说明
- python - 访问 autograd arraybox 值
- parsing - 用于编辑 lvm.conf 文件的工具
- javascript - 如何将 js 脚本与 html 代码隔离?
- swift - 为什么 ReturnType 在这个 Swift 函数中不起作用?
- svg - 影根?调出描边颜色
- google-sheets - 如何从 LOOKUP 中获取 NETWORKDAYS 的假期范围?