一次完整的拖拽项目总结之(四)逻辑条件

本文总结了一次拖拽项目中的逻辑条件处理,包括前端页面定位、数据更新逻辑和下部面板中的逻辑条件。在前端,使用绝对定位实现弹出层的精准显示,通过mousedown事件处理点击交互。数据更新逻辑中,当有多个标签时,记录拖拽信息并根据用户选择的'交集'或'并集'决定是否更新数据。下部面板依据数据结构动态渲染逻辑条件,如'交集'、'并集'选项,并在数据结构变化时相应地添加、删除或修改operation属性。
摘要由CSDN通过智能技术生成

按照需求当拖拽一个标签至当前仅有一个标签的逻辑块时,需要出现’交集/并集’的选择框,如下所示:
在这里插入图片描述
首先从前端页面角度来说,弹出层要能在适时进行弹出,定位准确,在鼠标拖拽的位置;等待点击’交集’或者’并集’按钮,当点击弹出层内部时,弹出层不消失,而当点击弹出层以外部分时,弹出层能够消失。
从数据逻辑的角度来说,正常的拖拽是到终点位置附近弹起鼠标即完成数据更新,对于需要弹出逻辑条件的时候,则要阻断数据更新,同时保留当前拖拽的信息,当点击’交集’或者’并集’时,再将记录好的信息完成更新。而如果用户不点击’交集’或’并集’时,则不会更新数据。

前端页面定位

采用绝对定位的页面元素:

<div class="selector" ref='selectorPopup' v-show="showSelector" style="position:absolute; width:82px; height:57px;border:1px solid #d9d9d9;z-index:1;background-color:#FFFFFF;">
  <div @click="updateDragAndDrop(location, dragType, id, title, centerPositionX, centerPositionY, 'and')" style="width:68px;height:20px;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值