我正在尝试实现一个 UI,在其中我通过 Office-ui-fabric 的 TextField 组件获取用户输入。我使用 onChange 来监控价值。但是,当我输入用户输入时说数字“100”,我可以看到每次呈现的函数,我认为这是 onChange 的一个功能,但是在完成输入输入后,我在控制台窗口中只看到“10”。
我尝试按照旧的 stackoverflow 帖子中的建议将 onChange 更改为 Blur,但是当我这样做时,我看不到任何控制台消息。
const [msg, setMsg] = React.useState("");
React.useEffect(()=>{
vscode.postMessage(
{
command: 'setMsg',
text: msg
}
);
},[msg])
return (
<div>
<Stack>
<Stack.Item grow>
<Label style={{ color: 'white' }}>Enter number </Label>
<TextField placeholder="Enter number of images" value={msg} onChange={event => { setMsg((event.target as HTMLInputElement).value); console.log(msg);test() }} />
</Stack.Item>
</Stack>
</div>
);
我希望如果我输入数字“100”,我应该在控制台日志中看到“100”。目前我看到'10'。这是实现此功能的正确方法吗?新的反应和办公室 -ui-fabric 和任何帮助表示赞赏。