如何解决ReactJs和Material UI:在没有onChange的情况下从禁用的TextField获取输入值
我无法弄清楚如何从禁用的输入字段中获取预先填充的值。由于该字段已禁用,因此onChange不适用于此处。即使使用TextField的inputRef属性,我也可以触发一个名为getNameInputValue的函数,并且可以通过控制台查看这些值。但是,当我尝试将状态设置为通过props传入的函数时,会得到null值错误。
以下是相关代码段:
const getNameInputValue = (id,nameValue) => {
console.log(id,nameValue.value); //works
props.getNameValues({ ...nameValues,[id]: nameValue.value }) //doesnt work
}
return (
<Box>
<Typography>NAME</Typography>
<TextField
id={`name-${index}`}
disabled
defaultValue={nameValueComingFromTheLoop}
variant="outlined"
inputRef={(inputValue) => getNameInputValue(`name-${index}`,inputValue)}
/>
</Box>
);
根据要求,在外部组件中定义了getNameValues,这是其定义:
const [nameValue,setNameValue] = useState({});
const getNameValues= (receivednameValuesObj) => {
setNameValue(receivednameValuesObj);
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。