vue2拖拽组件到容器需要预览效果


需求就是这样的哈 拖拽的时候需要有一个预览效果

我们这里使用css的变量来控制

    // 拖拽时的样式
    .dragClass {
      background-image: var(--background-image) !important;
      width: 259.493px !important;
      height: 212px !important;
      color: transparent !important;
      background-size: 100% 100% !important;
    }

拖拽的事件:拖拽时动态修改变量值

    //开始拖拽事件
    onStart(e) {
      document.querySelector("body").style.cursor= "grabbing"
      this.draggableStart();
      document.body.style.setProperty(
        "--background-image",
        `url(${this.visualCom[e.oldIndex].img})`
      );
    },

这个img的值用img: require("../img/sbhclfx.png"),即可

每个组件应该有自己的img像这样

  {
    titleName: "设备耗材率分析",
    img: require("../img/sbhclfx.png"),
    is: "equipmentConsumption",
    id: nanoid(),
    moduleId: 11,
  },
  {
    titleName: "人员统计",
    img: require("../img/rytj.png"),
    is: "personnelStatistics",
    id: nanoid(),
    moduleId: 14,
  },
  {
    titleName: "设备统计",
    img: require("../img/sbtj.png"),
    is: "deviceStatistics",
    id: nanoid(),
    moduleId: 15,
  },

使用require导入图片后面发现部署到线上环境拖拽时图片显示不出来... 后面改成base64了!!!

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Vue ElementUI 拖拽组件是一种基于 Vue.js 和 ElementUI 的可拖拽组件,可以让用户通过鼠标拖拽的方式来移动组件位置,从而实现页面布局的自由调整。该组件可以轻松地集成到 Vue.js 项目中,并且具有丰富的配置选项,可以满足不同的需求。同时,ElementUI 拖拽组件还支持多种事件回调和自定义样式,可以让开发者更加灵活地控制组件的行为和外观。 ### 回答2: Vue和Element UI是目前非常流行的前端开发框架,借助它们可以快速构建出现代化、响应式的Web应用程序。其中,Element UI提供了丰富的组件,包括拖拽组件。 在Vue中使用Element UI的拖拽组件,首先需要引入Element UI库,并在项目中注册拖拽组件。然后,在需要使用拖拽功能的页面中,通过使用`el-draggable`指令来实现拖拽效果。例如,可以将要拖拽的元素包裹在一个`el-draggable`元素中,并设置`v-model`指令来绑定拖拽时元素的位置信息。 基本的拖拽功能只需要在元素上添加`v-draggable`指令即可。拖拽时,元素会根据鼠标的移动而改变位置,同时会触发相应的事件,比如`drag-start`、`drag`和`drag-end`等事件,可以在这些事件中自定义拖拽过程中的操作。 除了基本的拖拽功能,Element UI的拖拽组件还提供了一些其他的功能选项,比如拖拽的方向限制、边界限制、拖拽时的阴影效果等等。通过在`el-draggable`元素上添加适当的属性配置,可以实现这些扩展功能。 总之,使用Vue和Element UI的拖拽组件可以大大简化前端开发过程中的拖拽功能实现。只需要简单的配置和使用相关指令,就可以实现各种拖拽需求,提升用户体验。 ### 回答3: Vue ElementUI是基于Vue.js组件库,其中包含了一些常用的UI组件,如表格、按钮、输入框等。其中也包含了一个拖拽组件,可用于实现在网页中拖拽元素的功能。 使用Vue ElementUI的拖拽组件有以下几个步骤: 1. 安装Vue ElementUI:可以使用npm或yarn命令行工具,在项目目录下执行命令`npm install element-ui`或`yarn add element-ui`进行安装。 2. 引入需要使用的组件:在需要使用拖拽功能的组件中,使用import语句引入`el-draggable`组件,并在`components`中注册。 3. 在模板中使用拖拽组件:在模板中使用`el-draggable`标签,并为其绑定相应的属性和事件。通常,需要设置`v-model`来绑定要拖拽的元素,还可以设置`group`属性来指定拖拽的组别。 4. 处理拖拽事件:在Vue组件的方法中,定义拖拽相关的事件处理函数。例如,可以使用`@start`、`@drag`和`@end`等事件来处理拖拽开始、拖拽进行中以及拖拽结束的逻辑。 5. 样式定义:根据需要,可以自定义拖拽元素的样式。可以使用`transition`属性来定义拖拽时的过渡效果,也可以使用`handler`属性来指定只能通过某个元素进行拖拽。 通过以上步骤,就可以在Vue项目中使用Vue ElementUI的拖拽组件实现元素的拖拽功能了。这个组件提供了简洁易用的api,可以帮助开发者快速实现拖拽效果,提高开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值