twitter网站的virtualscroller控件的问题

protosst1 2020-11-12 05:05:19
需要从twitter上面复制大量的文字下来,

由于twitter从2019年使用了一个virtualscroller的控件,造成每次复制文字的时候只能复制一点点数据,

在没有改版以前能够通过全选把十万多条文字都复制下来。

现在打听到可以把virtualscroller的bypass控件设置成true,就能把virualscroller控件的属性关闭,

并且能够在内存render完整的文字列表。下面是github里面bypass属性的说明

bypass: boolean — Pass true to turn off VirtualScroller behavior and just render the full list of items.

这是virtualscroller的完整说明:

https://github.com/catamphetamine/virtual-scroller

请问,要通过什么办法来让bypass为true,并且render显示完整的文本列表?
...全文
14390 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
protosst1 2020-11-14
  • 打赏
  • 举报
回复
引用 1 楼 qybao 的回复:
看了一下代码,不是有构造函数吗,传个参数不就好了
export default class VirtualScroller {
	/**
	 * @param  {function} getContainerElement — Returns the container DOM `Element`.
	 * @param  {any[]} items — The list of items.
	 * @param  {Object} [options] — See README.md.
	 * @return {VirtualScroller}
	 */
	constructor(
		getContainerElement,
		items,
		options = {} //这个options参数传入一个对象
	) {
		const {
			getState,
			setState,
			onStateChange,
			customState,
			// `preserveScrollPositionAtBottomOnMount` option name is deprecated,
			// use `preserveScrollPositionOfTheBottomOfTheListOnMount` option instead.
			preserveScrollPositionAtBottomOnMount,
			shouldUpdateLayoutOnWindowResize,
			measureItemsBatchSize,
			// `getScrollableContainer` option is deprecated.
			// Use `scrollableContainer` instead.
			getScrollableContainer,
			tbody,
			// bypassBatchSize
		} = options

		let { //上面options参数的对象可以按照这里的成员来设定
			bypass,
			// margin,
			estimatedItemHeight,
			// getItemState,
			onItemInitialRender,
			// `onItemFirstRender(i)` is deprecated, use `onItemInitialRender(item)` instead.
			onItemFirstRender,
			scrollableContainer,
			preserveScrollPositionOfTheBottomOfTheListOnMount,
			state
		} = options
请问您一下,这个代码在什么地方,我要怎么修改,我对于这些都是小白
qkniit 2020-11-13
  • 打赏
  • 举报
回复
楼上说的很明白了
亦夜 2020-11-12
  • 打赏
  • 举报
回复

他的文档其实已经说得很清楚了
首先你需要import
import VirtualScroller from 'virtual-scroller'

// 然后你需要构建一个新的virtualScroller 实例
const virtualScroller = new VirtualScroller(getContainerElement, items, options)

而他的构造函数需要传递三个参数,其中
options 中可设置参数中就有bypass

所以你可以使用为
const virtualScroller = new VirtualScroller(getContainerElement, items, {bypass: true})

qybao 2020-11-12
  • 打赏
  • 举报
回复
看了一下代码,不是有构造函数吗,传个参数不就好了

export default class VirtualScroller {
/**
* @param {function} getContainerElement — Returns the container DOM `Element`.
* @param {any[]} items — The list of items.
* @param {Object} [options] — See README.md.
* @return {VirtualScroller}
*/
constructor(
getContainerElement,
items,
options = {} //这个options参数传入一个对象
) {
const {
getState,
setState,
onStateChange,
customState,
// `preserveScrollPositionAtBottomOnMount` option name is deprecated,
// use `preserveScrollPositionOfTheBottomOfTheListOnMount` option instead.
preserveScrollPositionAtBottomOnMount,
shouldUpdateLayoutOnWindowResize,
measureItemsBatchSize,
// `getScrollableContainer` option is deprecated.
// Use `scrollableContainer` instead.
getScrollableContainer,
tbody,
// bypassBatchSize
} = options

let { //上面options参数的对象可以按照这里的成员来设定
bypass,
// margin,
estimatedItemHeight,
// getItemState,
onItemInitialRender,
// `onItemFirstRender(i)` is deprecated, use `onItemInitialRender(item)` instead.
onItemFirstRender,
scrollableContainer,
preserveScrollPositionOfTheBottomOfTheListOnMount,
state
} = options

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧