Я пытаюсь реализовать пользовательский интерфейс, в котором я ввожу пользовательский ввод через компонент TextField из Office-ui-fabric. Я использую onChange для мониторинга значения. Однако, когда я ввожу пользовательский ввод, скажем, число «100», я вижу функцию, отображаемую каждый раз, что, как я считаю, является функцией onChange, но после завершения ввода моего ввода я вижу только «10» в окне консоли.
Я попытался изменить onChange на Blur, как было предложено в старом сообщении stackoverflow, но когда я это делаю, я не вижу никаких консольных сообщений.
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, и любая помощь приветствуется.