reactjs 值更改时关闭输入文本字段

8hhllhi2  于 2023-02-12  发布在  React
关注(0)|答案(2)|浏览(142)

我有以下问题:我有一个输入文本字段和扫描条形码。但文本字段不会自动关闭。如果我输入的数字键盘,它会自动关闭。我有什么问题吗?是扫描仪快?任何想法?

const [open, setOpen] = useState(false);
    
const onValueChange = (event) => {
        if(event.target.value.length===16){
          setOpen(false);
        }
    };

<TextField autoFocus onChange={onValueChange} margin="dense" id="number"  type="text" inputProps={{minlength: 16,maxlength:16}} fullWidth variant="outlined" />
eqzww0vc

eqzww0vc1#

请执行以下操作:

<TextField autoFocus 
onChange={onValueChange} 
margin="dense" 
id="number"  
type="text" 
inputProps={{minlength: 16,maxlength:16}} 
fullWidth 
variant="outlined"
onBlur={() => setOpen(false)} /* NEW */
 />
7hiiyaii

7hiiyaii2#

您可以执行以下操作:

const [value, setValue] = useState('');

const isOpen = value.length === 16;

return (
  <TextField
    value={value}
    autoFocus
    onChange={(event) => setValue(event.target.value)}
    margin="dense"
    id="number"
    type="text"
    inputProps={{ minlength: 16, maxlength: 16 }}
    fullWidth
    variant="outlined"
  />
);

相关问题