·
方案一:通过控制控件的样式来触发
触发同页面下Input的focus
< Input
placeholder="请输入班级名称"
disableUnderline
value={classListQuery.clName}
onChange={updateValue}
id="classSearch"
/ >
通过点击事件,根据id获取Input的focus
document.getElementById('classSearchToolbar').style.display = 'block';
document.getElementById('classSearch').focus();
方案一有很大的局限性,比如无法定位到正在加载中或者其他页面中的组件
方案二:通过一个按钮来转载点击事件
触发一个即将打开Dialog的TextField的focus
< TextField
id="multiline-static"
multiline
rows="10"
margin="normal"
placeholder="请输入您要填写的信息"
onChange={updateValue}
fullWidth
value={currentValue}
/ >
通过点击动作,延迟触发一个Dialog里按钮的点击事件
setTimeout(function(){
document.getElementById('multilineStaticAdpBtn').click();
}, 800);
响应按钮的点击事件,获取TextField的focus。通过填充的方式,将光标定位在内容最后。
参考资料
