一输入就失败焦点
来源:7-4 添加数据处理行为(一)

张彬
2022-03-26
输入正文
const newFiles = files.map(file=>{
if(file.id===oldActiveID.current){
file.body=value;
}
return file
})
setFiles(newFiles)
这段代码会在输入一个字符后,会使编辑失去焦点
写回答
2回答
-
张彬
提问者
2022-03-26
看到官方文档
定义option
const autofocusNoSpellcheckerOptions = useMemo(() => {
return {
autofocus: true,
spellChecker: false,
minHeight:'515px'
};
}, []);
重写方法:
const fileChange=useCallback((fileID,value)=>{
// loop through file array to update
const newFiles = files.map(file=>{
if(file.id===fileID){
file.body=value;
}
return file
})
setFiles(newFiles)
// update unsaveIDs
if(!unsavedFileIDs.includes(fileID)){
setUnsavedFileIDs([...unsavedFileIDs,fileID])
}
},[])
00 -
张彬
提问者
2022-03-26
setFiles会导致页面重新渲染,所以这个焦点自然也就没有了,请问老师,这个要怎么解决
00
相似问题