原生js实现React拖拽效果(resize)附带完整的demo

想找一个可以resize块的组件,找了好几天都没找到合适的。

尝试过的开源组件:
“react-rnd”:被拖拽的块采用的布局方式是“position:absolute”,更改布局的话拖拽的事件会失效,没有仔细去研究原理。但是我是在不知道这个布局怎么去比较好的兼容页面的flex布局,所以放弃了这个组件

网上查到的大多数拖拽组件是Draggable拖拽,多用于块的拖拽排序等,而我需要的是resize块的大小,两者截然不同。

看了有人用原生js写的html文件,上面的效果还是不错的,所以读懂了代码,在此代码的结构上进行了改动,运用到了react中。

核心代码:

var theobject = null;
var dir;
    //拖拽的时候初始化了一个object
  resizeObject = () => {
    this.el = null; //pointer to the object
    this.dir = "";      //type of current resize (n, s, e, w, ne, nw, se, sw)
    this.grabx = null;     //Some useful values
    this.graby = null;
    this.width = null;
    this.height = null;
    this.left = null
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值