[英]How to scroll a section to the top in Chakra Modal?
这就是我想要做的
NutrientFilterOptions
的Box
。我的尝试可在https://codesandbox.io/s/modest-edison-wz8qr?file=/src/App.tsx 获得
现在会发生什么?
注意:此时代码仅使用ref
for Nutrients 连接。
在教育我如何实现我的目标方面的任何帮助都非常感谢。
谢谢
我从未见过chakra-ui,所以请原谅我没有完全解决这个问题
通过对 NutrientFilterOptions.tsx 的修改,我设法获得了想要滚动到视图中的列表
export const NutrientFilterOptions = () => {
useEffect(() => {
const ele = document.querySelector("#myNutFilter");
if (ele) ele.scrollIntoView();
}, []);
return (
<div id="myNutFilter">
我正在做的是给元素一个 id 而不是使用useRef
,尽管在这种情况下 useRef 可能是理想的。
我使用useEffect
是因为我希望代码在组件呈现后执行。
组件呈现后,我使用 vanilla js 首先检查元素是否存在(isShown),然后将其滚动到视图中(如果确实存在)。
我想补充一点,这不会检查列表最初是如何显示的。 您需要一个状态来跟踪打开选项菜单的内容,并且只有在来源正确时才滚动。 我会使用道具钻孔或 redux 来处理选项打开的来源。
希望有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.