问题:使用fusion组件库 使用了Tree 在Treenode中写入 input框,
input输入空格失效
原因: Tree支持键盘操作, space键会触发选中,在input中的onKeyDown中取消冒泡即可。
event.stopPropagation(): 不让事件传递到父元素,停止事件冒泡(停止事件向上派发)。
onKeyDown={e => {
e.stopPropagation();
}}
输入空格时只触发到onkeyup后续事件不执行
input中事件的执行顺序:onFocus -----> onKeyDown(value值不变) —> onKeyUp -->onChange …
在onKeyDown中尝试设置其他的值禁止输入:
onkeydown = e => {
const keycode = e.keyCode;
// 输入值为0
if(keycode === 48) {
e.preventDefault()
}
}