Closed liangzai927 closed 7 months ago
在线案例的组合拆分里面也有这个bug
selected属性不是双向绑定的,需要通过事件focus/blur
重新赋值
暴露出来的blur和focus方法只会返回一个true/false 在focus/blur里面直接改变item的selected属性 没有效果啊
暴露出来的blur和focus方法只会返回一个true/false 在focus/blur里面直接改变item的selected属性 没有效果啊
没搞明白这两个方法是怎么用的🤦🏻♀️
参考一下这个实例哈
<template>
{{ selected }}
<button @click.stop="onFocus">选中</button>
<button @click.stop="onBlur">取消选中</button>
<Drager
:width="100"
:height="100"
:left="100"
:top="100"
:selected="selected"
rotatable
@focus="onFocus"
@blur="onBlur"
>
按钮
</Drager>
</template>
<script setup lang="ts">
import { ref } from 'vue'
import Drager from 'es-drager/index'
const selected = ref(false)
const onFocus = () => selected.value = true
const onBlur = () => selected.value = false
</script>
index
我是用的对象上的selected属性 在框选的时候会改变selected属性 会被选中 但是取消框选会触发blur方法 强请改为false
Screen-2024-03-29-140202.mp4
这个是组分与拆分的组件 框选取消后 会触发blur这个方法 被选中的样式消失了 我在blur中改变item的selected属性没有用 但是在编辑器案例中 没有这个bug 我没研究出来是什么原因 希望大佬能解答一下
给画布阻止一下点击冒泡就好了,因为点击事件冒泡到document就会自动失去焦点
给画布阻止一下点击冒泡就好了,因为点击事件冒泡到document就会自动失去焦点
感谢大佬 解决了 确实没想到是冒泡导致的🙏
我的问题,编辑器发现的时候就改了,文档忘记更新了 😓
我的问题,编辑器发现的时候就改了,文档忘记更新了 😓
还有个问题,框选完成之后,点击画布取消所有选中(看似没问题),但是将areaSelected设置为false的点击事件没有被触发,需要再点一下画布才会执行。以上这样的情况存在,所以会导致框选完成之后点击画布看似是取消了多选状态,但是依次点击drager时,还是多选状态,不会说选一个切一个
给画布阻止一下点击冒泡就好了,因为点击事件冒泡到document就会自动失去焦点
可是你的代码里没有这个stop也没问题
在框选节点之后 节点selected属性是true 但是没有selected属性