技术标签: react.js 前端 React javascript
此效果的实现使用了第三方组件re-resizable,通过此React组件可以很便捷的实现可拖拽改变组件大小的需求。
re-resizable
组件。npm install --save re-resizable
import React, {
Component} from 'react';
import {
Resizable } from "re-resizable";
export default class Demo extends Component {
render() {
return (
<Resizable
defaultSize={
{
width:320, height:200}}
>
可拖拽组件
</Resizable>
);
}
}
参数 | 说明 | 类型 |
---|---|---|
defaultSize | 初始默认宽高 | string / number |
minWidth | 宽度下限 | string / number |
minHeight | 高度下限 | string / number |
maxWidth | 宽度上限 | string / number |
maxHeight | 高度上限 | string / number |
enable | 设置可调整方向权限,可调整很多方向具体请参考官网 | |
lockAspectRatio | 用于锁定纵横比,还有相关属性方法,具体参考官网 | boolean / number |
bounds | 指定边界大小 | window / parent / HTMLElement |
… | … | … |
onResizeStart
调整组件开始时调用。
onResize
调整组件进行时调用。
onResizeStop
调整组件完成时调用。
简单的使用案例:
import React, {
Component} from 'react';
import {
Resizable } from "re-resizable";
export default class Demo extends Component {
onResizeStart = (e) => {
console.log("onResizeStart执行");
console.log(e);
};
onResize = (e) => {
console.log("onResize执行");
console.log(e);
};
onResizeStop = (e) => {
console.log("onResizeStop执行");
console.log(e);
};
render() {
return (
<Resizable
style={
{
background: "#8cdbd5"}}
defaultSize={
{
width:320, height:200}}
onResize={
(e) => this.onResize(e)}
onResizeStart={
(e) => this.onResizeStart(e)}
onResizeStop={
(e) => this.onResizeStop(e)}
>
可拖拽组件
</Resizable>
);
}
}
通过观察这几个方法在控制台所打印的内容可以发现,在每次调用这些方法时我们都可以获取到关于此次调整事件的一些信息,而通过这些信息我们就可以完成许多相关性的工作,例如通过在onResize
执行时获取调整的宽度和高度传递给父组件或者使用状态管理器进行管理,这样就可以实现拖拽A组件的同时B组件也跟着变化的效果。
end
平常我们团队开发时,都在公司的局域网内,调用接口也是局域网内部的,但是项目上线时,请求接口是线上服务器端的,那么就有接口之间的来回切换问题.在使用vue-cli搭建项目以后,做相关配置就可以实现,不用手动更改接口路径,也可以请求不同环境下的接口.1.设置不同的接口地址先找到以下文件/config/dev.env.js/config/prod.env.js可以看到dev.env.js里面内容如下这是...
数组中的数据类型,下面实例可以看出优先级规则是:string > float > int
今天学习spring+cxf的时候遇到一个问题:在web.xml中配置了spring的上下文监听器:Xml代码 listener> listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class> listener> 随后启动tom
问题:urllib3安装1、python3 pip install urllib安装错误信息: Could not find a version that satisfies the requirement urllib (from versions)No matching d...
对async、await的理解,内部原理介绍下Promise,内部实现清除浮动定位问题(绝对定位、相对定位等)从输入URL到⻚面加载全过程tcp3次握手tcp属于哪一层(1 物理层 -> 2 数据链路层 -> 3 网络层(ip)-> 4 传输层(tcp) -> 5 应用层(http))redux的设计思想接入redux的过...
基于kali Linux 的 openvas【greenbone】虚机 镜像新版openvas 切换为gvm后,操作命令有变化,摸索装好后,做了虚机镜像,有需要的请下载试用。链接: https://pan.baidu.com/s/1pWgHUqquCH6tfHEtUDSvUQ 提取码: yxib【OpenVAS是开放式漏洞评估系统】Greenbone Security Assistant 绿骨头安全助理。基于kali Linux 系统的虚机镜像东方闲仁...
过去一年,移动营销市场的变化可能让很多从业“猜不透”。苹果爸爸继续任性地调整iOS系统的规则;万众期待的苹果竞价广告无限跳票;一年内短视频从唱好到唱衰,再到被广告主爸爸拍手接受;BAT的商业版图聚焦社交广告,信息流占据中国流量半壁江山……未来的移动营销行业如何变化,流量从业者如何与流量巨头快乐玩耍,行业的下一个红利在哪里?App Growing盘点了2018年移动营销市场新趋势,希望可以在
为了分散交易中的风险,我们可以在量化交易中选择市场中性策略。我们选择具有基本面相关性的股票对,价格趋势具有趋同和趋离,买多强势的股票,卖空弱势的股票,同时交易,控制股市风险。案例是石油公司埃克森美孚(NYSE:XOM)和石油公司雪佛龙(NYSE:CVX)公司简介:埃克森美孚公司于1882年在美国新泽西州成立,公司的分部及附属公司在美国和世界上大多数其他国家经营或买卖产品。公司主要业务为能源...
TreeSet> ts = new TreeSet>(new Comparator>() { @Override public int compare(Map m2, Map m1) { // TODO Auto-generated method stub int i1 = Integer.parseInt(m1.get("all")); int i2 = In
Matlab:实现5G NR参考波形生成(附完整源码)
面向对象设计原则 可维护性:指软件能够被理解,改正,适应及扩展的难易程度。 可复用性:指软件能够被重复使用的难易程度。 面向对象设计的目标之一在于支持可维护性服用,一方面需要实现设计方案或者源代码的服用,另一方面 要确保系统能够易于扩展和修改,具有良好的可维护性。 面向对象设计原则为支持可维护性服用而诞生 指导性原则,非强制性原则。 每一个设计模式都符合一个或多个面向对象设计原则,面向对象设计原则是用于评价 一个设计模式的使用效果的重要指标之一。面向对象设计原则概
centos7 + dockervi /etc/sysctl.conf添加代码:net.ipv4.ip_forward=1重启network服务:systemctl restart network && systemctl restart docker查看是否修改成功:sysctl net.ipv4.ip_forward