如何阻止光标跳到末尾?

2023-12-14

我正在使用 Antd 输入库,每当我在单词的开头或中间输入时,我的光标就会跳到结尾。

const handleOpenAnswer =( key, value )=>{
    handleFieldChange({
        settings: {
            ...settings,
            [key]: value
        }
    })
}
    
return (        
    <Input
        required
        size='default'
        placeholder='Label for Diference Open Answer Question'
        value='value'
        onChange={({ target: { value } }) => {
            handleOpenAnswer('differenceOpenAnswerLabel', value)
        }}
/>

光标总是跳到末尾的原因是因为您的父组件获得了新状态,因此重新渲染了其子组件。所以每次改变之后你都会得到一个全新的Input成分。因此,您可以处理组件本身内的值更改,然后尝试在更改后将更改后的值传递给父组件,或者(我真的建议)您使用类似的东西反应钩子形式 or Formik处理您的表格。自己处理表单可能非常困难(特别是对于复杂和嵌套的表单),并且最终会导致像您现在面临的渲染问题。

React-Hook-Form 中的示例:

import { FormProvider, useFormContext } = 'react-hook-form';

const Form = () => {
  const methods = useForm();
  const { getValues } = methods;
  
  const onSubmit = async () => {
    // whatever happens on submit
    console.log(getValues()); // will print your collected values without the pain
  }
  
  return (
    <FormProvider {...methods}>
        <form onSubmit={(e) => handleSubmit(onSubmit)(e)>
           {/* any components that you want */}
        </form>
    </FormProvider>
  );
}

const YourChildComponent = () => {
  const { register } = useFormContext();
  
  return (
    <Input
        {...register(`settings[${yourSettingsField}]`)}
        size='default'
        placeholder='Label for Diference Open Answer Question'
    />
  )
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何阻止光标跳到末尾? 的相关文章

  • 如何使用 LinkedIn javascript sdk 检索包括所有字段的职位列表?

    我想要获取 LinkedIn 会员在其个人资料中输入的每个职位的 ID 头衔 摘要 开始日期 结束日期 当前状态和公司名称 我测试了一个查询休息控制台 https apigee com console linkedin我得到了想要的结果 查
  • 通知用户消息仍在输入中

    我正在使用 Laravel 5 6 7 Socket IO 和 vue js 我没有使用 Pusher 和 redis 下面是我的代码 用于向与我一对一聊天的用户发送消息 var url http localhost 6001 apps M
  • 零作为 IIFE 中的第一个参数[重复]

    这个问题在这里已经有答案了 In babeljs v6 5 1 class Foo 编译为 use strict var classCallCheck2 require babel runtime helpers classCallChec
  • 使用 NodeJS 让 Discord 机器人发送带有消息的图片

    我有几张照片 全部在 imgur 上 带有直接图像链接 格式 https i imgur com XXXXXX jpg https i imgur com XXXXXX jpg 以及用 NodeJS 制作的 Discord 机器人 我发送这
  • Three.js - 在代码中包含网格数据

    我有这个 Three js 代码 其中 JSON 加载器从文件 models mountain json 加载网格 var Three new function this scene new THREE Scene this camera
  • Chrome SuppressDifferentOriginSubframeJSDialogs 使用 JS 设置覆盖?

    Chrome 开发团队显然刚刚推出了一项名为 SuppressDifferentOriginSubframeJSDialogs 的新 功能 这使得默认情况下不会显示来自与父级不同域上的 iFrame 的警报 确认框 https www ch
  • ngModel.$parsers 忽略 ng-model 值末尾的空格

    我有这样的指令 directive noWhitespace parse function parse return restrict A require ngModel link function scope element attrs
  • 在 Angular2 项目中集成 Treant-js

    我正在尝试在 Angular2 项目中使用 treant js 但我正在努力解决如何正确集成它的问题 我有一个工作正常的 JavaScript HTML 示例 我正在尝试在 Angular2 中工作 我创建了一个组件 从 npm 添加了 t
  • 光滑的轮播缓动示例

    我正在使用 Slick Carousel http kenwheeler github io slick http kenwheeler github io slick 但不知道如何合并不同的幻灯片切换 有人有例子可以分享吗 这是我目前拥有
  • 专用网络:web3.eth.getAccounts() 始终发送空数组

    我正在运行一个私人以太坊网络 我确实用https aws amazon com blockchain templates 整个设置已经完成 AWS 上的设置看起来正确 现在 我正在尝试创建帐户并检索所有这些帐户 为此 我使用以下方法 Web
  • 在 vue.js 模板中包含外部脚本

    我是 Vue js 和 web pack 的新手 所以我决定使用 vue cli webpack 来构建初始应用程序 我试图包含一个外部脚本 例如组件 不需要的模板中 但是 Vue 警告这是不允许的 我的 index html 文件与最初生
  • 将 NPM 包客户端与 nuxt 结合使用

    我对 nuxt 和 javascript 非常陌生 我正在尝试弄清楚如何在客户端使用我的应用程序的依赖项 我将它们列在我的 nuxt config js 中并使用 npm 安装 我也有一个文件 plugins导入它们的目录 不确定这是否好
  • 代码分割/反应可加载问题

    我正在尝试使用react loadable 将代码分割引入我的应用程序 我在一个非常简单的组件上尝试过 const LoadableComponent Loadable loader gt import components Shared
  • 元素中优先考虑 ngclick 而非 nghref

    tl dr 如何强制 Angular 只执行 ngclick 指令 a 元素而不清空 删除href 我的网站在某些元素上有一些自定义行为 模式打开 位置栏更新等 但对于 SEO 索引我also需要它成为一个 a 元素与href包含有效链接的
  • 如何在 angularjs 中修剪()字符串?

    有角度特定的方法吗 如果没有 我应该使用内置的jquery 来做到这一点吗 如果我应该使用内置的jquery 如何在不使用 的情况下访问trim 函数 或者这是必要的 编辑 是的 我知道 str trim 对不起 我需要这个才能在 IE 8
  • Meteor.js 登录事件

    因此 我对 Meteor 框架和 JavaScript 总体来说还很陌生 但我正在使用该框架开发一个小项目 以尝试让自己达到标准 基本上我正在开发一个微博客网站 目前 用户可以通过多种服务登录 fb google 等 我通过插入所需 url
  • 常规 JavaScript 可以与 jQuery 混合使用吗?

    例如 我可以采用这个脚本 来自 Mozilla 教程 https developer mozilla org en Canvas tutorial Basic usage
  • Dojo/on 和捕获阶段

    有没有办法用 dojo on 在捕获阶段 而不是冒泡阶段 触发事件 我最终在这里寻找有关 on 的前身 dojo connect 的信息 就其价值而言 dojo connect 似乎不支持捕获阶段的事件侦听器 它的工作原理是将事件处理程序作
  • 使用 React React-router 登录后重定向到主页,并且 usenavigate 不起作用?

    我希望用户在成功登录后重定向到主页 我将用户登录的 api 请求的数据存储在一个名为 currentUser 的变量中 因此如果 currentUser 为 true 它应该重定向到主页 这就是我处理登录请求的方式 export const
  • 如何根据所需表单输入的值更改 CSS 样式

    我想知道如何编写 javascript 来改变所需的表单元素的样式 如果它们有价值的话就改变它们 我想要做的是当所需的文本字段为空时 在它们周围有一个彩色边框 并在它们有值时删除边框样式 我想做的是编写一个 javascript 函数来检查

随机推荐

  • woocommerce_loop_add_to_cart_link 过滤器挂钩如何深入工作?

    我有一些基本的 Woocommerce 问题 但在网上找不到 从下面的代码来看 args从哪里来 product 和 args 如何分配给 s thanks global product echo apply filters woocomm
  • Scala - 在没有 Apache 的情况下转义 Unicode 字符串

    我有一个字符串 b u00f4lovar 我想知道是否可以在不使用 Commons lang 的情况下进行转义 它可以工作 但我在某些环境中遇到问题 我想将其最小化 即 它可以在我的机器上工作 但不能在生产中工作 StringEscapeU
  • 硬件 SIMD 向量指针和相应类型之间的“reinterpret_cast”是否是未定义的行为?

    是否合法reinterpret cast a float to a m256 和访问float通过不同的指针类型的对象 constexpr size t m256 float step sz sizeof m256 sizeof float
  • 对另一个库中函数的未定义引用

    我正在尝试编译一个引用一个库的目标代码 这是libexample c的代码 include libexample h include
  • Google OpenId Connect 迁移:在 ASP.NET 应用程序中获取 openid_id

    我已经阅读了大量的 Google 文档和 SO Q A 但没有运气 我想知道是否有人按照 Google 的建议成功使用了 OpenId 到 OpenId Connect 迁移 这就是我们以前所做的 IAuthenticationRespon
  • res.sendFile 发送静态文件+对象

    我必须使用 Express 提供 html 文件 但也想随响应一起发送一个对象 我怎样才能同时发送detail html和对象 car 以及如何在客户端访问它 app get unit id function req res console
  • 当切换和禁用 Android 开关全部变灰时

    如上所示 当 iOS 中的开关切换被禁用且切换时具有颜色 但在 Android 中则没有 在android上可以实现同样的效果吗 如果您只想更改拇指颜色以匹配 iOSUISwitch轨道绿色 41D150 您可以更改colorSwitchT
  • 为什么 Ruby 中很少使用 throw 和 catch ? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我最近陷入了一场讨论rai
  • Docker 与 GUI 应用程序

    TL DR 我需要从 Docker 容器后台运行的 Java 应用程序启动 Selenium 由于在运行时无法访问 X11 环境 启动失败 看Dockerfile下面是我开始的部分 我应该怎么办 Problem 我从一个简单的开始Docke
  • mex 无法识别内联

    我正在尝试编译libdc1394 的 matlab 包装器这是火线相机的库 我收到一个奇怪的错误 涉及头文件中的一些内联函数 我正在使用 gcc 4 6 开发 ubuntu 12 04 我已经成功编译了其他 mex 文件 这个包装器在 Ma
  • 将 Unity 应用程序集成到现有 iOS 应用程序

    我有一个从 Unity 5 导出的 iOS 应用程序 并且我还使用 vuforia 将 ar 添加到该 Unity 应用程序中 现在我想将 Unity 应用程序集成到我现有的 iOS 应用程序中 我已关注http www the nerd
  • 是否有必要为只读线程和只写线程创建互斥体?

    有2个线程 一个只读取signal 另一个只设置signal 是否有必要创建互斥体signal原因是什么 UPDATE 我所关心的是如果两个线程同时读取 设置它是否会崩溃 您可能希望为此使用原子变量 尽管互斥体也可以工作 问题在于 无法保证
  • 保持纵横比和固定高度

    所以我想保持一个特定的纵横比div 其中高度是固定的 过去我曾经这样做过 但只有在使用固定宽度时才这样做 one one position relative one one before display block content widt
  • 等待“正在加载”图标从页面上消失

    我们正在为 Web 应用程序进行自动化 大多数场景都会在页面中心出现一个加载图标 我们需要等待这个加载图标消失 HTML div style display none div div div div 示例 我们在大多数场景下都有搜索功能 当
  • Phonegap 文件上传 Java 服务器

    我正在尝试在 Java 服务器上上传图像 该文件正在从 Android 设备传输 但在服务器上保存 null 这是服务器代码 public UploadMediaServerResponse uploadFileForFunBoard Fo
  • Xamarin 自定义视图 ClassNotFoundException

    我是 Xamarin 的新手 我试图在 Android 应用程序中创建自己的视图 但它在构造函数上抛出 ClassNotFoundException 我正在寻找类似的问题 但没有找到类似的问题 仅here我认为可能非常相似 但实际上并没有解
  • 如何用bindvalue和%准备语句?

    是的 当我尝试对之前看起来像这样的变量使用绑定值时 我遇到了问题 users firstname LIKE firstname 现在看起来像这样 users firstname LIKE firstname 但还是不行 也试过了 users
  • 无法使用代理设置连接到 SOAP API

    我正在使用 requests 和 zeep 库通过 SOAP API 连接到服务器 如果我手动设置互联网代理 我可以连接 但是 我打算在脚本中使用代理设置来自动化该过程 我正在使用以下代码块来执行此操作 但出现以下错误 谁能帮助我 我在哪里
  • SQL有多少条记录以相同字母开头

    所以我在数据库的 A 列中有数千条记录 我想看看有多少个字母以字母开头 以及所有个位数 所以我需要一个计数和与之相关的字母 我还想查看所有两个字母数字组合 即 aa ab ac ad ae 等及其计数 还有三个和四个字符等 一般情况下你可以
  • 如何阻止光标跳到末尾?

    我正在使用 Antd 输入库 每当我在单词的开头或中间输入时 我的光标就会跳到结尾 const handleOpenAnswer key value gt handleFieldChange settings settings key va