【发布时间】:2021-04-26 18:16:14
【问题描述】:
我是 react 新手,我想尝试使用 react-grid-layout。
我想了解是否可以在项目上显示布局的“x”值,以便我可以看到 x 坐标随着鼠标的移动而变化。显然每个项目都必须有自己的“x”坐标值..但我就是不知道该怎么做。我确信有一个简单的方法,但我看不到它。
这是我的代码
https://codesandbox.io/s/react-grid-layout-componet-isy1w?file=/src/App.js
这里的函数:el.x 它不会随着布局的变化而更新
createElement(el) {
const removeStyle = {
position: "absolute",
right: "2px",
top: 0,
cursor: "pointer"
};
const i = el.i;
/* const index=i.slice(1);
console.log(index) */
console.log();
return (
<div className="wrapper" key={i} data-grid={el}>
<p>
<span className="text">
{el.i} + **{el.x}**
</span>
</p>
<p>
<span className="text"></span>
</p>
<span
className="remove"
style={removeStyle}
onClick={this.onRemoveItem.bind(this, i)}
>
x
</span>
</div>
);
}
非常感谢
【问题讨论】:
-
能否请您提供您的组件的完整代码?请注意,如果变量
x不是 state 的一部分,React 不会无缘无故地重新渲染组件。 React 不会知道x已更改,因此它不会更新渲染的组件。 -
嗨,Charis,感谢您的快速回答。你说的对。我通过直接更新 react-grid-layout 布局数组来解决它。这里的代码:codesandbox.io/s/react-grid-layout-componet-isy1w?file=/src/…
标签: javascript reactjs react-grid-layout