首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用fireEvent.scroll -testing-library对容器内的元素进行反应?

如何使用fireEvent.scroll -testing-library对容器内的元素进行反应?
EN

Stack Overflow用户
提问于 2018-10-05 20:08:30
回答 1查看 16.7K关注 0票数 25

我试图模拟包含在div中的元素中的滚动,这是传递给render函数的元素。

我正在尝试这样的东西,但似乎当我的下一个expect正在下降时,div没有滚动。

代码语言:javascript
复制
const content = (
      <div style={{display: 'flex'}}>
        <LazyList itemRenderer={itemRenderer} items={items} minItemHeight={MIN_ITEM_HEIGHT} />
      </div>
    );
mockOffsetSize(WIDTH, HEIGHT);

const {debug, container, queryByText} = render(content);
const scrollContainer = container.querySelector('.ReactVirtualized__Grid');
debug(scrollContainer);
fireEvent.scroll(scrollContainer, {y: 100});
debug(scrollContainer);

这是触发scroll事件的正确方式吗?还有别的选择吗?

EN

回答 1

Stack Overflow用户

发布于 2019-05-21 16:00:02

你有没有试过将EventListener添加到滚动容器中?我只是不确定您可能刚刚使用的那个库,但我非常确定,在正常情况下,在没有侦听器的情况下调用scroll fireEvent不会执行任何事情。在您的fireEvent之前,插入如下内容:

代码语言:javascript
复制
scrollContainer.addEventListener('scroll', () => { /* some callback */ });

并将您的fireEvent更改为:

代码语言:javascript
复制
fireEvent.scroll(scrollContainer, { target: { scrollY: 100 } });
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52665318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档