- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 react-rnd 库来拖动和调整 block 的大小。我创建了一个页面。它在其上创建了一个灰色容器,我点击“添加全局容器”按钮,一个容器出现在我可以在父灰色容器中移动和调整大小的字段上
在已创建容器的左上角有一个紫色按钮,点击它,将在该容器内创建另一个容器,现在第一个容器将成为新创建容器的父容器。
问题是我可以调整内部容器的大小,但我不能移动它,或者更确切地说,它会随着父组件移动。仅当父组件接触到其父组件(灰色容器)的边界时,内部组件才会移动到外部组件内部
在代码中它看起来像这样我有一个组件,它本身包含一个组件Box 组件在 Rdn 内部调用——这是您在屏幕上看到的 block ,Rdn 使它移动
type Props = {
width: string;
height: string;
color: string;
};
class BoxWrapper extends React.Component<Props> {
state = {
width: "100",
height: "40",
x: 0,
y: 0,
};
render() {
const { width, height, color } = this.props;
return (
<Rnd
size={{ width: this.state.width, height: this.state.height }}
position={{ x: this.state.x, y: this.state.y }}
bounds="parent"
onDragStop={(e: any, d: any) => {
e.stopPropagation();
this.setState({ x: d.x, y: d.y });
}}
minHeight={16}
minWidth={16}
onResize={(
e: any,
direction: any,
ref: any,
delta: any,
position: any
) => {
this.setState({
width: ref.style.width,
height: ref.style.height,
...position,
});
}}
>
<Box
x={this.state.x}
y={this.state.y}
width={this.state.width}
height={this.state.height}
externalHeight={height}
externalWidth={width}
color={color}
/>
</Rnd>
);
}
}
export default BoxWrapper;
在Box组件里面,紫色的按钮是勾选的,如果按下了,就需要创建BoxWrapper组件
type BoxProps = {
x: number;
y: number;
width: string;
height: string;
externalWidth: string;
externalHeight: string;
color: string;
};
class Box extends React.Component<BoxProps> {
state = {
isClick: false,
isCreate: false,
};
render() {
const {
x,
y,
width,
height,
externalWidth,
externalHeight,
color,
} = this.props;
const externalH = parseInt(externalHeight);
const externalW = parseInt(externalWidth);
const boxWidth = parseInt(width);
const boxHeight = parseInt(height);
const xUpperLeft = x;
const yUpperLeft = y;
const xUpperRight = x + boxWidth;
const yUpperRight = y;
const xDownLeft = x;
const yDownLeft = y + boxHeight;
const xDownRight = x + boxWidth;
const yDownRight = y + boxHeight;
return (
<>
<div
style={{
margin: 0,
height: "100%",
padding: 0,
backgroundColor: color,
}}
>
<div className="wrapper">
<button
style={{
width: 0,
height: "14px",
borderRadius: "1px",
backgroundColor: "#fff",
display: "flex",
justifyContent: "center",
fontSize: 9,
}}
onClick={() => this.setState({ isClick: !this.state.isClick })}
>
?
</button>
<button
style={{
width: 0,
height: "14px",
borderRadius: "1px",
backgroundColor: "#a079ed",
display: "flex",
justifyContent: "center",
fontSize: 9,
}}
onClick={() => this.setState({ isCreate: !this.state.isCreate })}
/>
</div>
{this.state.isCreate && (
<BoxWrapper
width={width}
height={height}
color="#42d5bc"
/>
)}
</div>
{this.state.isClick && (
<Tooltip
leftDistance={xUpperLeft}
topDistance={yUpperLeft}
rightDistance={externalW - xUpperRight}
bottomDistanse={externalH - yDownLeft}
/>
)}
</>
);
}
}
怎样才能做到不自动拖动父容器就可以自由移动内层容器我尝试在Rnd
中的onDragStop
方法中指定event.stopPropafgation()
,但是根本不起作用,我不知道该做什么
最佳答案
问题解决了您需要将 onDragStop
方法替换为 onDrag
并指定event.stopImmediatePropagation()
; working example with corrections of the previous
关于reactjs - React-Rnd 一个 block 在另一个里面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61215596/
伙计们,我在运行程序时遇到了这个非常奇怪的错误。这是重要的代码: 变量(编辑): const short int maxX = 100; const short int maxZ = 100; con
我需要一些有关 SQL 查询的帮助。该查询旨在从表中返回 75 条随机记录。这是查询: SELECT TOP 75 a.Number, a.Location, a.Manufacturer FROM
我曾经在数学中有一个叫做computewall的东西(德语:“Rechenwand”,我不知道这在英语中怎么称呼),你会得到一个金字塔和一些结果。它看起来例如像这样: 0 0|0 0
我正在显示图像,然后在其上使用标记。问题是当屏幕尺寸改变时。标记也改变了它的位置,为什么会这样?我该如何解决这个问题,使标记相对于图像保持在相同的位置。这是链接 -> https://codesand
我正在制作俄罗斯方 block 并且有 7 个数字。当我需要一个新图形时,我在 FigureFactory 类中这样做: srand(time(NULL)); int shape = rand() %
为什么一些网络应用程序使用 http-get 参数 rnd?它的目的是什么?使用这个参数解决了哪些问题? 最佳答案 这可能是为了确保页面/图像/任何内容都没有从用户的缓存中获取。如果链接每次都不同,那
当我设置这段代码时,每次调试软件时,它都会生成相同的数字。谁能告诉我为什么会这样? dim value as integer value = (CInt(Int(100 * Rnd()))) mess
我目前有一个宏,当我单击按钮时,它会“随机”在消息框中给我一个数字: dim number as double number= Int(8 * Rnd + 1) - 1 MsgBox number 问
我在 NetLogo 中有一个包含值的列表和每个值的概率列表。现在我想根据其概率(加权随机抽取)绘制一个随机值。我想到了使用 Rnd extension ,但我无法弄清楚如何正确设置权重,请帮忙 se
在 root 下安装 Laravel Passport 后出现的 .rnd 文件是什么?它是否包含任何敏感数据?我们应该将其提交给 repo 吗? 最佳答案 一般情况下.rnd file 是一个包含随
我需要一个用于 2D 蒙特卡洛模拟的伪随机数生成器,它不具有通过简单 LCG 获得的特征超平面。我使用以下代码在 Excel 2013 中测试了随机数生成器 Rnd()(运行大约需要 5 秒): Su
我正在使用 react-rnd 库来拖动和调整 block 的大小。我创建了一个页面。它在其上创建了一个灰色容器,我点击“添加全局容器”按钮,一个容器出现在我可以在父灰色容器中移动和调整大小的字段上
我正在使用 react-rnd 库来拖动和调整 block 的大小。我创建了一个页面。它在其上创建了一个灰色容器,我点击“添加全局容器”按钮,一个容器出现在我可以在父灰色容器中移动和调整大小的字段上
我正在尝试玩一些代码..不断收到编译错误在 Windows 上因此忽略了 Mac 用户(没什么大不了的,我也会忽略他们!)。我删除了那部分代码并使用 linux 设置对其进行了定义(因为我认为我的 M
是否可以在 Microsoft Access 查询中使用 Rnd() 函数而不指定数字列(例如,当我的主键包含字母字符时)并且仍然为每一行生成不同的随机数? 最佳答案 您可以使用第一个字符; rnd(
我试图在 Linux 中使用 Wine 在 vbscript 下面运行,但它不起作用。其他 vbscript 函数按预期工作。 Wine 版本:wine-5.0.3 (Ubuntu 5.0.3-3)命
我有一些运行的代码。在我执行的循环内: System.Random rnd = new System.Random(); 如果通话之间几乎没有时间延迟,我能否期望号码是随机的? 最佳答案 您不应该在每
我之前被告知,在 VB.NET 中使用 Rnd() 之前,我应该始终使用 Randomize()应用。然而,即使没有它,它似乎也能正常工作。在这种情况下,添加 Randomize() 对我有什么作用?
我正在尝试通过 ssh 隧道连接到远程服务器上的 mysql 数据库。 当与服务器的连接建立时,我的脚本失败并出现 mysql 错误: py.warnings - WARNING - /home/ar
我拿起一本书 10 PRINT CHR$(205.5+RND(1)); : 转到 10 http://www.amazon.com/10-PRINT-CHR-205-5-RND/dp/02620184
我是一名优秀的程序员,十分优秀!