前端 React 问题请教

2018-09-09 22:22:40 +08:00
 OAHMOA

求请教,一个 React 写的站,我想弄个 chrome 插件去修改 input 值,有啥好法子不..

p.s. 试过了修改 input 的 value 后触发 change 事件,但点击提交时,value 还是恢复成了 defaultValue 的值。React 不熟悉,还望大家多多指教!

2019 次点击
所在节点    前端开发
8 条回复
noe132
2018-09-09 22:34:57 +08:00
我用 vue.js
input.dispatchEvent(new Event('input'))
能够触发 model 更新
react 应该也类似吧
grewer
2018-09-09 22:50:23 +08:00
复制一个无事件的 input ,替换原目标,再设置值不就行啦
zythum
2018-09-09 22:54:50 +08:00
同 1 楼的同学, 理论上触发下 input 时间可以。你可以试试。
OAHMOA
2018-09-09 23:35:04 +08:00
@noe132
@zythum
我在设置完 value 后,试过触发 input 和 change 事件,但是一提交都还是恢复成 defaultvalue 了..是我写的有问题吗?
不过这是个日历组件..没弄明白这逻辑

我这么写的:
inputElement_0.value=5;
var inputEvt = document.createEvent("HTMLEvents");
inputEvt.initEvent("input", true, true);
inputElement_0.dispatchEvent(inputEvt);
OAHMOA
2018-09-09 23:42:15 +08:00
@grewer 谢谢亲,尝试了下,这样改了 value 后,提交时还是之前的默认值..
DrugsZ
2018-09-10 09:00:17 +08:00
他有可能 input 写入的 value 是一个固定值,不是变量,所以应该没办法修改,
Helios0
2018-09-10 17:40:19 +08:00
可否贴个链接指个路去看一眼
OAHMOA
2018-09-10 23:18:32 +08:00
@Helios0 是公司后台系统,改不了源码,为了方便只能弄插件了 ..

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/487707

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX