求助!React 实现虚拟键盘后如何更新 Input 值的问题 跪求大佬解惑 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
conankenan
V2EX    前端开发

求助!React 实现虚拟键盘后如何更新 Input 值的问题 跪求大佬解惑

  •  
  •   conankenan 2024-09-11 09:50:31 +08:00 1086 次点击
    这是一个创建于 396 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本来是做的 React 传统 pc 端 web 应用,但是业务需求有进工厂用触摸屏的操作,场景变成了套壳 webview,因此所有的输入框都会唤起原生的安卓键盘直接挡住大部分屏幕内容,领导和安卓人员沟通无果,提出禁用安卓键盘弹出,让我搞个页面上的虚拟键盘点击输入,目前用的 react-simple-keyboard,现在的问题是我在顶层组件监听全局聚焦事件 document.addEventListener('focusin', handleFocus) 然后唤出虚拟键盘组件,通过 event.target.value 更新值,但是因为 React 在管理状态,没办法调用到 setState 或者说 Form.setFields,所以通过 target.value 改了值以后,下次触发 React 更新直接会把值重置,求解怎么更新状态呀!!!当然如果直接把键盘组件写到每个业务表单代码同级上下文就没这些问题,可是这么多页面这么多表单组件不可能一个个去绑定吧 求助!!

    2 条回复    2024-09-11 12:25:28 +08:00
    Wetoria
        1
    Wetoria  
       2024-09-11 11:48:20 +08:00
    你说的 setState 是虚拟组件内部的,还是自己定义的。
    Baymaxbowen
        2
    Baymaxbowen  
       2024-09-11 12:25:28 +08:00 via iPhone
    你的输入组件受控直接改变 targetvalue 没有用,你的方向应该是在触发系统键盘时页面要整体上移
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2586 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 21ms UTC 04:48 PVG 12:48 LAX 21:48 JFK 00:48
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86