单击删除(以编辑最后一个输入条目)时,我动态地将一个值传递给我的输入字段。
我可以看到,在 Chrome 中,一旦输入值被呈现,光标就会显示在单词的开头,而在 Safari 和 Firefox 中,则显示在值的末尾,但最后一个字母被删除。
如何在不删除最后一个字母的情况下始终看到最后的光标(除非我按退格键两次)?
tagEvent(e) {
const tag = this.text.value;
const tagGroup = tag.split(" ");
const tiles = this.props.tiles;
const hasTiles = Object.keys(tiles).length > 0;
if(e.keyCode === 32 || e.keyCode === 13){
e.preventDefault();
tagGroup.map(tag => this.props.addTile(tag));
this.tagForm.reset();
}
if(e.keyCode === 8 && hasTiles && tag === '' ) {
this.props.editLastTile();
this.tagForm.reset();
}
}
render() {
return (
<div className="input-wrapper">
<form ref={(input) => this.tagForm = input}>
<input ref={(input) => this.text = input}
type="text"
name="new-item"
placeholder="type and press space"
autoComplete="off"
defaultValue={this.props.value}
onKeyDown={(e) => this.tagEvent(e)} />
</form>
</div>
)
}
非常感谢您的帮助!