vangleer / es-drager

A draggable, resizable, rotatable component based on vue3
https://vangleer.github.io/es-drager/
296 stars 41 forks source link

组件失焦建议 #27

Closed jiangzetian closed 7 months ago

jiangzetian commented 8 months ago

组件失焦建议

大佬您好,鼠标点击拖拽元素父组件外元素时,边框自动消失(失焦),能否提供失焦事件,和手动失/聚焦的相关操作。

vangleer commented 8 months ago

好建议 👍,这两个事件确实可以加上focus,blur ,有空就加。 可以使用select属性控制选中和不选的哈

jiangzetian commented 8 months ago

大佬nb,select确实可以控制选中和不选状态,但是失焦会造成组件未选中,类似于低代码编辑器这种业务场景,我在点击右侧属性配置栏时并不需要失焦,需要保持聚焦并且选中状态,方便指示正在配置的组件。所以选中和失/聚焦之接的关系,还有一些优化空间,或者可以提供足够的自定义接口。

注:但是我发现源码中在右侧属性配置栏外层加上@click.stop可以解决上述低代码编辑器场景右侧配置栏失焦问题。

我有以下想法:

  1. 提供focus,blur事件给开发者,开发者自行处理失/聚焦和选中状态的关系。
vangleer commented 8 months ago

可别再叫大佬了 🤦‍♂️,老铁 你说的对,只要点击事件不冒泡到document就不会失焦。当时这么设计也是为了通用的原则 低代码可以自己控制select就行。后期会加上选择和不选的事件,但是感觉需要的场景不是很多