在react中使用antd表格组件时,动态设置表格高度属性后,表格高度没有更新?

新手上路,请多包涵

在项目开发过程中,碰到个问题叨扰一下,开发语言是react,界面上有一个表格,是基于antd封装的一个table组件,现在需要在某种情境中,去动态改变这个表格的高度,比如初始是100,点击某个按钮变成200。
写了一个简单的页面测试,设置一个变量值A,初始值是100,点击按钮后 通过setState,将A的值变成200,浏览器调试发现,值已经更新,但是页面没有重新渲染,render方法也进去了,高度还是没有变化,但是发现在点击按钮后,如果将页面缩小到表格所在区域后,再重新最大化那个页面,高度变大了(缩小扩大的过程没有刷新页面),就很奇怪,不知道问题点在哪 如果有小伙伴遇到过或者知道些原因麻烦指点一下,谢谢 谢谢 谢谢

阅读 4.5k
2 个回答
新手上路,请多包涵

后面我尝试了每次更新高度的时候去重置table组件的key值,就可以渲染更新了,但是我还是不明白没有重置key的时候,缩小浏览器页面再扩大,组件高度会更新,如果后面知道了原因再回来补充。

设置table高度的方式有很多,说的有点宽泛,没法判定具体啥情况。
用官方例子改了下,通过每次点击去改变scroll.height是没问题,https://stackblitz.com/edit/r... 没登陆不知道不知道变更啥时候实效,逻辑如下。

const App = () => {
  const [height, setHeight] = useState(80);
  const onClick = () => {
    setHeight(height + 80);
  };
  return (
    <div>
      <div style={{ marginBottom: 16 }}>
        <Button onClick={onClick} type="primary">
          Reload
        </Button>
      </div>
      <Table
        size="small"
        columns={columns}
        dataSource={data}
        scroll={{ y: height }}
      />
    </div>
  );
};
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题