Optim popup focus

This commit is contained in:
MrKBear 2022-03-28 17:55:02 +08:00
parent 241161ebb6
commit cdc2eb8feb
2 changed files with 11 additions and 5 deletions

View File

@ -78,9 +78,6 @@ class Popup extends Component<IPopupProps & IMixinStatusProps & IMixinSettingPro
popup.isOnMouseDown = true;
popup.lastMouseLeft = e.clientX;
popup.lastMouseTop = e.clientY;
if (this.props.status) {
this.props.status.popup.topping(popup);
}
}}
>
{popup.onRenderHeader()}
@ -257,6 +254,11 @@ class Popup extends Component<IPopupProps & IMixinStatusProps & IMixinSettingPro
className: "popup-layer" + (hasAnimate ? " show-scale" : ""),
backgroundLevel: BackgroundLevel.Level4,
}, this.props.setting).join(" ")}
onClick={() => {
if (this.props.status) {
this.props.status.popup.topping(popup);
}
}}
>
{this.renderDragLine(ResizeDragDirection.top, popup)}
<div className="popup-layer-container">

View File

@ -163,8 +163,12 @@ class PopupController extends Emitter<IPopupControllerEvent> {
newPopup = new (popup ?? Popup)(props);
}
newPopup.init(this, `P-${this.idIndex ++}`);
this.popups.push(newPopup);
this.sortPopup();
// 延迟渲染防止焦点冲突
setTimeout(() => {
this.popups.push(newPopup);
this.sortPopup();
});
return newPopup;
}