需要從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顯示完整的文本串列?
uj5u.com熱心網友回復:
看了一下代碼,不是有建構式嗎,傳個引數不就好了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
uj5u.com熱心網友回復:
他的檔案其實已經說得很清楚了
首先你需要import
import VirtualScroller from 'virtual-scroller'
// 然后你需要構建一個新的virtualScroller 實體
const virtualScroller = new VirtualScroller(getContainerElement, items, options)
而他的建構式需要傳遞三個引數,其中
options 中可設定引數中就有bypass
所以你可以使用為
const virtualScroller = new VirtualScroller(getContainerElement, items, {bypass: true})
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/213004.html
標籤:JavaScript
上一篇:2.使用prop將vue的陣列資料[‘HTML’,’CSS’,’JavaScript’]傳遞到組件my-item中并顯示在頁面
