gpt4 book ai didi

javascript - 使用 useRef 更改输入值

转载 作者:行者123 更新时间:2023-12-03 19:02:40 26 4
gpt4 key购买 nike

我使用 React 的 useRef 钩子(Hook)捕获了一个元素。
如果我使用 console.log(this.inputRef) 我得到:

<input aria-invalid="false" autocomplete="off" class="MuiInputBase-input-409 MuiInput-input-394" placeholder="Type ItemCode or scan barcode" type="text" value="2">

有没有办法使用 this.inputRef 更改该元素的值?然后强制其重新渲染?

最佳答案

听起来您正在寻找的是 命令式句柄 钩。
来自 React 文档:

useImperativeHandle customizes the instance value that is exposed to parent components when using ref


下面的代码应该适合你:
function ValueInput(props, ref) {
const inputRef = useRef();
useImperativeHandle(ref, () => ({
changeValue: (newValue) => {
inputRef.current.value = newValue;
}
}));
return <input ref={inputRef} aria-invalid="false" autocomplete="off" class="MuiInputBase-input-409 MuiInput-input-394" placeholder="Type ItemCode or scan barcode" type="text" value="2">
}
ValueInput = forwardRef(ValueInput);
文档: https://reactjs.org/docs/hooks-reference.html#useimperativehandle

关于javascript - 使用 useRef 更改输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64335480/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com