{"title":"Support Virtual List","meta":{"title":"Support Virtual List","description":"\n<p>You can enable virtual list by set <code>userVirtual</code> to <code>ture</code></p>\n","order":"7"},"codes":{"jsx":"import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Transfer } from '@alifd/next';\nconst dataSource = (() => {\n  const dataSource2 = [];\n  for (let i = 0; i < 1e3; i++) {\n    dataSource2.push({\n      label: `content${i}`,\n      value: `${i}`,\n      disabled: i % 4 === 0,\n    });\n  }\n  return dataSource2;\n})();\nclass Demo extends React.Component {\n  constructor() {\n    super(...arguments);\n    this.handleChange = (value, data, extra) => {\n      console.log(value, data, extra);\n    };\n  }\n  render() {\n    return (\n      <Transfer\n        mode=\"simple\"\n        useVirtual\n        defaultValue={['3']}\n        dataSource={dataSource}\n        defaultLeftChecked={['1']}\n        onChange={this.handleChange}\n        titles={['Simple Mode', 'Simple Mode']}\n      />\n    );\n  }\n}\nReactDOM.render(<Demo />, mountNode);\n\n"},"body":"\n\n````jsx\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Transfer } from '@alifd/next';\nconst dataSource = (() => {\n  const dataSource2 = [];\n  for (let i = 0; i < 1e3; i++) {\n    dataSource2.push({\n      label: `content${i}`,\n      value: `${i}`,\n      disabled: i % 4 === 0,\n    });\n  }\n  return dataSource2;\n})();\nclass Demo extends React.Component {\n  constructor() {\n    super(...arguments);\n    this.handleChange = (value, data, extra) => {\n      console.log(value, data, extra);\n    };\n  }\n  render() {\n    return (\n      <Transfer\n        mode=\"simple\"\n        useVirtual\n        defaultValue={['3']}\n        dataSource={dataSource}\n        defaultLeftChecked={['1']}\n        onChange={this.handleChange}\n        titles={['Simple Mode', 'Simple Mode']}\n      />\n    );\n  }\n}\nReactDOM.render(<Demo />, mountNode);\n\n````","name":"virtualListEnUs","html":"<script>(function(){var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n  if (from && typeof from === \"object\" || typeof from === \"function\") {\n    for (let key of __getOwnPropNames(from))\n      if (!__hasOwnProp.call(to, key) && key !== except)\n        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n  }\n  return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n  // If the importer is in node compatibility mode or this is not an ESM\n  // file that has been converted to a CommonJS file using a Babel-\n  // compatible transform (i.e. \"__esModule\" has not been set), then set\n  // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n  isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n  mod\n));\nvar import_react = __toESM(require(\"react\"));\nvar import_react_dom = __toESM(require(\"react-dom\"));\nvar import_next = require(\"@alifd/next\");\nconst dataSource = (() => {\n  const dataSource2 = [];\n  for (let i = 0; i < 1e3; i++) {\n    dataSource2.push({\n      label: `content${i}`,\n      value: `${i}`,\n      disabled: i % 4 === 0\n    });\n  }\n  return dataSource2;\n})();\nclass Demo extends import_react.default.Component {\n  constructor() {\n    super(...arguments);\n    this.handleChange = (value, data, extra) => {\n      console.log(value, data, extra);\n    };\n  }\n  render() {\n    return /* @__PURE__ */ import_react.default.createElement(\n      import_next.Transfer,\n      {\n        mode: \"simple\",\n        useVirtual: true,\n        defaultValue: [\"3\"],\n        dataSource,\n        defaultLeftChecked: [\"1\"],\n        onChange: this.handleChange,\n        titles: [\"Simple Mode\", \"Simple Mode\"]\n      }\n    );\n  }\n}\nimport_react_dom.default.render(/* @__PURE__ */ import_react.default.createElement(Demo, null), mountNode);\n})()</script><div class=\"highlight\"><pre class=\"language-jsx\"><code class=\"language-jsx\"><span class=\"token keyword\">import</span> React <span class=\"token keyword\">from</span> <span class=\"token string\">'react'</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">import</span> ReactDOM <span class=\"token keyword\">from</span> <span class=\"token string\">'react-dom'</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> Transfer <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'@alifd/next'</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> dataSource <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">const</span> dataSource2 <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">let</span> i <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> i <span class=\"token operator\">&lt;</span> <span class=\"token number\">1e3</span><span class=\"token punctuation\">;</span> i<span class=\"token operator\">++</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    dataSource2<span class=\"token punctuation\">.</span><span class=\"token function\">push</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n      <span class=\"token literal-property property\">label</span><span class=\"token operator\">:</span> <span class=\"token template-string\"><span class=\"token template-punctuation string\">`</span><span class=\"token string\">content</span><span class=\"token interpolation\"><span class=\"token interpolation-punctuation punctuation\">${</span>i<span class=\"token interpolation-punctuation punctuation\">}</span></span><span class=\"token template-punctuation string\">`</span></span><span class=\"token punctuation\">,</span>\n      <span class=\"token literal-property property\">value</span><span class=\"token operator\">:</span> <span class=\"token template-string\"><span class=\"token template-punctuation string\">`</span><span class=\"token interpolation\"><span class=\"token interpolation-punctuation punctuation\">${</span>i<span class=\"token interpolation-punctuation punctuation\">}</span></span><span class=\"token template-punctuation string\">`</span></span><span class=\"token punctuation\">,</span>\n      <span class=\"token literal-property property\">disabled</span><span class=\"token operator\">:</span> i <span class=\"token operator\">%</span> <span class=\"token number\">4</span> <span class=\"token operator\">===</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  <span class=\"token keyword\">return</span> dataSource2<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">class</span> <span class=\"token class-name\">Demo</span> <span class=\"token keyword\">extends</span> <span class=\"token class-name\">React<span class=\"token punctuation\">.</span>Component</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token function\">constructor</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">super</span><span class=\"token punctuation\">(</span><span class=\"token operator\">...</span>arguments<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span><span class=\"token function-variable function\">handleChange</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token parameter\">value<span class=\"token punctuation\">,</span> data<span class=\"token punctuation\">,</span> extra</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n      console<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span>value<span class=\"token punctuation\">,</span> data<span class=\"token punctuation\">,</span> extra<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  <span class=\"token function\">render</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> <span class=\"token punctuation\">(</span>\n      <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Transfer</span></span>\n        <span class=\"token attr-name\">mode</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>simple<span class=\"token punctuation\">\"</span></span>\n        <span class=\"token attr-name\">useVirtual</span>\n        <span class=\"token attr-name\">defaultValue</span><span class=\"token script language-javascript\"><span class=\"token script-punctuation punctuation\">=</span><span class=\"token punctuation\">{</span><span class=\"token punctuation\">[</span><span class=\"token string\">'3'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">}</span></span>\n        <span class=\"token attr-name\">dataSource</span><span class=\"token script language-javascript\"><span class=\"token script-punctuation punctuation\">=</span><span class=\"token punctuation\">{</span>dataSource<span class=\"token punctuation\">}</span></span>\n        <span class=\"token attr-name\">defaultLeftChecked</span><span class=\"token script language-javascript\"><span class=\"token script-punctuation punctuation\">=</span><span class=\"token punctuation\">{</span><span class=\"token punctuation\">[</span><span class=\"token string\">'1'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">}</span></span>\n        <span class=\"token attr-name\">onChange</span><span class=\"token script language-javascript\"><span class=\"token script-punctuation punctuation\">=</span><span class=\"token punctuation\">{</span><span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>handleChange<span class=\"token punctuation\">}</span></span>\n        <span class=\"token attr-name\">titles</span><span class=\"token script language-javascript\"><span class=\"token script-punctuation punctuation\">=</span><span class=\"token punctuation\">{</span><span class=\"token punctuation\">[</span><span class=\"token string\">'Simple Mode'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'Simple Mode'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">}</span></span>\n      <span class=\"token punctuation\">/></span></span>\n    <span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\nReactDOM<span class=\"token punctuation\">.</span><span class=\"token function\">render</span><span class=\"token punctuation\">(</span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Demo</span></span> <span class=\"token punctuation\">/></span></span><span class=\"token punctuation\">,</span> mountNode<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre></div>","renderScript":"<script>(function(){var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n  if (from && typeof from === \"object\" || typeof from === \"function\") {\n    for (let key of __getOwnPropNames(from))\n      if (!__hasOwnProp.call(to, key) && key !== except)\n        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n  }\n  return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n  // If the importer is in node compatibility mode or this is not an ESM\n  // file that has been converted to a CommonJS file using a Babel-\n  // compatible transform (i.e. \"__esModule\" has not been set), then set\n  // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n  isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n  mod\n));\nvar import_react_live = require(\"react-live\");\nvar import_next = require(\"@alifd/next\");\nvar import_react = __toESM(require(\"react\"));\nvar import_react_dom = __toESM(require(\"react-dom\"));\nvar import_next2 = require(\"@alifd/next\");\nwindow.demoNames.push(\"virtualListEnUs\");\nwindow.virtualListEnUsRenderScript = function virtualListEnUsRenderScript2(liveDemo) {\n  var mountNode = document.getElementById(\"virtualListEnUs-mount\");\n  if (liveDemo === \"false\") {\n    document.getElementById(\"virtualListEnUs-body\").innerHTML = `<pre class=\"language-jsx\"><code class=\"language-jsx\"><span class=\"token keyword\">import</span> React <span class=\"token keyword\">from</span> <span class=\"token string\">'react'</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">import</span> ReactDOM <span class=\"token keyword\">from</span> <span class=\"token string\">'react-dom'</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> Transfer <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'@alifd/next'</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> dataSource <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">const</span> dataSource2 <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">let</span> i <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> i <span class=\"token operator\">&lt;</span> <span class=\"token number\">1e3</span><span class=\"token punctuation\">;</span> i<span class=\"token operator\">++</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    dataSource2<span class=\"token punctuation\">.</span><span class=\"token function\">push</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n      <span class=\"token literal-property property\">label</span><span class=\"token operator\">:</span> <span class=\"token template-string\"><span class=\"token template-punctuation string\">{backquote}</span><span class=\"token string\">content</span><span class=\"token interpolation\"><span class=\"token interpolation-punctuation punctuation\">{dollar}{</span>i<span class=\"token interpolation-punctuation punctuation\">}</span></span><span class=\"token template-punctuation string\">{backquote}</span></span><span class=\"token punctuation\">,</span>\n      <span class=\"token literal-property property\">value</span><span class=\"token operator\">:</span> <span class=\"token template-string\"><span class=\"token template-punctuation string\">{backquote}</span><span class=\"token interpolation\"><span class=\"token interpolation-punctuation punctuation\">{dollar}{</span>i<span class=\"token interpolation-punctuation punctuation\">}</span></span><span class=\"token template-punctuation string\">{backquote}</span></span><span class=\"token punctuation\">,</span>\n      <span class=\"token literal-property property\">disabled</span><span class=\"token operator\">:</span> i <span class=\"token operator\">%</span> <span class=\"token number\">4</span> <span class=\"token operator\">===</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  <span class=\"token keyword\">return</span> dataSource2<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">class</span> <span class=\"token class-name\">Demo</span> <span class=\"token keyword\">extends</span> <span class=\"token class-name\">React<span class=\"token punctuation\">.</span>Component</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token function\">constructor</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">super</span><span class=\"token punctuation\">(</span><span class=\"token operator\">...</span>arguments<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span><span class=\"token function-variable function\">handleChange</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token parameter\">value<span class=\"token punctuation\">,</span> data<span class=\"token punctuation\">,</span> extra</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n      console<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span>value<span class=\"token punctuation\">,</span> data<span class=\"token punctuation\">,</span> extra<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  <span class=\"token function\">render</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> <span class=\"token punctuation\">(</span>\n      <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Transfer</span></span>\n        <span class=\"token attr-name\">mode</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>simple<span class=\"token punctuation\">\"</span></span>\n        <span class=\"token attr-name\">useVirtual</span>\n        <span class=\"token attr-name\">defaultValue</span><span class=\"token script language-javascript\"><span class=\"token script-punctuation punctuation\">=</span><span class=\"token punctuation\">{</span><span class=\"token punctuation\">[</span><span class=\"token string\">'3'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">}</span></span>\n        <span class=\"token attr-name\">dataSource</span><span class=\"token script language-javascript\"><span class=\"token script-punctuation punctuation\">=</span><span class=\"token punctuation\">{</span>dataSource<span class=\"token punctuation\">}</span></span>\n        <span class=\"token attr-name\">defaultLeftChecked</span><span class=\"token script language-javascript\"><span class=\"token script-punctuation punctuation\">=</span><span class=\"token punctuation\">{</span><span class=\"token punctuation\">[</span><span class=\"token string\">'1'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">}</span></span>\n        <span class=\"token attr-name\">onChange</span><span class=\"token script language-javascript\"><span class=\"token script-punctuation punctuation\">=</span><span class=\"token punctuation\">{</span><span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>handleChange<span class=\"token punctuation\">}</span></span>\n        <span class=\"token attr-name\">titles</span><span class=\"token script language-javascript\"><span class=\"token script-punctuation punctuation\">=</span><span class=\"token punctuation\">{</span><span class=\"token punctuation\">[</span><span class=\"token string\">'Simple Mode'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'Simple Mode'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">}</span></span>\n      <span class=\"token punctuation\">/></span></span>\n    <span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\nReactDOM<span class=\"token punctuation\">.</span><span class=\"token function\">render</span><span class=\"token punctuation\">(</span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Demo</span></span> <span class=\"token punctuation\">/></span></span><span class=\"token punctuation\">,</span> mountNode<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n</code></pre>\n`.replace(/{backquote}/g, \"`\").replace(/{dollar}/g, \"$\");\n    const dataSource = (() => {\n      const dataSource2 = [];\n      for (let i = 0; i < 1e3; i++) {\n        dataSource2.push({\n          label: `content${i}`,\n          value: `${i}`,\n          disabled: i % 4 === 0\n        });\n      }\n      return dataSource2;\n    })();\n    class Demo extends import_react.default.Component {\n      constructor() {\n        super(...arguments);\n        this.handleChange = (value, data, extra) => {\n          console.log(value, data, extra);\n        };\n      }\n      render() {\n        return /* @__PURE__ */ import_react.default.createElement(\n          import_next2.Transfer,\n          {\n            mode: \"simple\",\n            useVirtual: true,\n            defaultValue: [\"3\"],\n            dataSource,\n            defaultLeftChecked: [\"1\"],\n            onChange: this.handleChange,\n            titles: [\"Simple Mode\", \"Simple Mode\"]\n          }\n        );\n      }\n    }\n    import_react_dom.default.render(/* @__PURE__ */ import_react.default.createElement(Demo, null), mountNode);\n    return;\n  }\n  const virtualListEnUsLiveScript = `\n\n\nconst dataSource = (() => {\n  const dataSource2 = [];\n  for (let i = 0; i < 1e3; i++) {\n    dataSource2.push({\n      label: \\`content\\${i}\\`,\n      value: \\`\\${i}\\`,\n      disabled: i % 4 === 0,\n    });\n  }\n  return dataSource2;\n})();\nclass Demo extends React.Component {\n  constructor() {\n    super(...arguments);\n    this.handleChange = (value, data, extra) => {\n      console.log(value, data, extra);\n    };\n  }\n  render() {\n    return (\n      <Transfer\n        mode=\"simple\"\n        useVirtual\n        defaultValue={['3']}\n        dataSource={dataSource}\n        defaultLeftChecked={['1']}\n        onChange={this.handleChange}\n        titles={['Simple Mode', 'Simple Mode']}\n      />\n    );\n  }\n}\nReactDOM.render(<Demo />, mountNode);\n`;\n  const emptyTheme = {\n    plain: {},\n    styles: [\n      {\n        types: [],\n        styles: {}\n      }\n    ]\n  };\n  function renderAfter() {\n    import_react_dom.default.render(\n      /* @__PURE__ */ import_react.default.createElement(\n        import_next.Balloon.Tooltip,\n        {\n          align: \"t\",\n          style: { maxWidth: 320 },\n          trigger: /* @__PURE__ */ import_react.default.createElement(\n            \"div\",\n            {\n              dangerouslySetInnerHTML: {\n                __html: `<pre class=\"language-jsx\"><code class=\"language-jsx\"><span class=\"token keyword\">import</span> React <span class=\"token keyword\">from</span> <span class=\"token string\">'react'</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">import</span> ReactDOM <span class=\"token keyword\">from</span> <span class=\"token string\">'react-dom'</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> Transfer <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'@alifd/next'</span><span class=\"token punctuation\">;</span>\n</code></pre>\n`\n              }\n            }\n          )\n        },\n        \"\\u7F16\\u8F91\\u6A21\\u5F0F\\u6682\\u4E0D\\u652F\\u6301\\u4FEE\\u6539\\u4F9D\\u8D56\\u5F15\\u5165\"\n      ),\n      document.getElementById(\"virtualListEnUs-live-import\")\n    );\n  }\n  class LiveRenderer extends import_react.default.Component {\n    constructor(props) {\n      super(props);\n      this.onBlur = () => {\n        const time = (/* @__PURE__ */ new Date()).getTime();\n        window.top.postMessage({\n          type: \"ReactLiveEdit\",\n          from: \"demo\",\n          body: { name: \"virtualListEnUs\", component: \"Transfer\", time }\n        }, \"*\");\n      };\n    }\n    componentDidMount() {\n      renderAfter();\n    }\n    render() {\n      return /* @__PURE__ */ import_react.default.createElement(\n        import_react_live.LiveProvider,\n        {\n          code: virtualListEnUsLiveScript,\n          scope: { React: import_react.default, ReactDOM: import_react_dom.default, Transfer: import_next2.Transfer, mountNode },\n          noInline: true\n        },\n        /* @__PURE__ */ import_react.default.createElement(\"div\", { id: \"virtualListEnUs-live-editor\" }, /* @__PURE__ */ import_react.default.createElement(import_react_live.LiveError, { id: \"virtualListEnUs-live-error\", className: \"react-live-error\" }), /* @__PURE__ */ import_react.default.createElement(\"div\", { id: \"virtualListEnUs-live-import\" }), /* @__PURE__ */ import_react.default.createElement(\"div\", { id: \"virtualListEnUs-live-body\", className: \"react-live-body\" }, /* @__PURE__ */ import_react.default.createElement(import_react_live.LiveEditor, { theme: emptyTheme, onBlur: this.onBlur })), /* @__PURE__ */ import_react.default.createElement(\"div\", { id: \"virtualListEnUs-live-css\" })),\n        /* @__PURE__ */ import_react.default.createElement(import_react_live.LivePreview, null)\n      );\n    }\n  }\n  import_react_dom.default.render(/* @__PURE__ */ import_react.default.createElement(LiveRenderer, null), document.getElementById(\"virtualListEnUs-body\"));\n  return;\n};\nwindow.renderFuncs.push(virtualListEnUsRenderScript);\nfunction onRiddleOrCodePenClick(type) {\n  const time = (/* @__PURE__ */ new Date()).getTime();\n  window.top.postMessage({\n    type: \"RiddleOrCodePenClick\",\n    from: \"demo\",\n    body: { name: \"virtualListEnUs\", component: \"Transfer\", type, time }\n  }, \"*\");\n}\nimport_react_dom.default.render(\n  /* @__PURE__ */ import_react.default.createElement(\n    import_next.Balloon.Tooltip,\n    {\n      align: \"b\",\n      style: { maxWidth: 400 },\n      trigger: /* @__PURE__ */ import_react.default.createElement(\"span\", { role: \"img\", className: \"op-icon\", onClick: () => onRiddleOrCodePenClick(\"O2\") }, /* @__PURE__ */ import_react.default.createElement(\"svg\", { viewBox: \"0 0 18 18\", version: \"1.1\" }, /* @__PURE__ */ import_react.default.createElement(\"g\", { id: \"\\u9875\\u9762-1\", stroke: \"none\", \"stroke-width\": \"1\", fill: \"none\", \"fill-rule\": \"evenodd\", \"stroke-opacity\": \"0.45\" }, /* @__PURE__ */ import_react.default.createElement(\"g\", { id: \"\\u7F16\\u7EC4-16\", transform: \"translate(1.000000, 1.031385)\", \"fill-rule\": \"nonzero\", stroke: \"#000000\", \"stroke-width\": \"1\" }, /* @__PURE__ */ import_react.default.createElement(\"path\", { d: \"M7.99320628,15.9864125 C3.58572657,15.9864125 2.27373675e-13,12.400686 2.27373675e-13,7.99320627 C2.27373675e-13,3.58572655 3.58572657,-1.70530257e-13 7.99320628,-1.70530257e-13 C12.400686,-1.70530257e-13 15.9864126,3.58572655 15.9864126,7.99320627 C15.9864126,8.42039157 15.6400618,8.76674238 15.2128765,8.76674238 C14.7856912,8.76674238 14.4393404,8.42039157 14.4393404,7.99320627 C14.4393404,4.43880793 11.5476691,1.54707218 7.99320628,1.54707218 C4.43874348,1.54707218 1.54707218,4.43880793 1.54707218,7.99320627 C1.54707218,11.5476691 4.43874348,14.4393404 7.99320628,14.4393404 C8.43115662,14.4393404 8.86852684,14.3952488 9.29313367,14.3084194 C9.7112944,14.2223635 10.1204305,14.492521 10.2060352,14.9110685 C10.2917043,15.3296804 10.0218692,15.7383653 9.60338611,15.82397 C9.07686588,15.9317494 8.53513277,15.9864125 7.99320628,15.9864125\", id: \"path-2\" }), /* @__PURE__ */ import_react.default.createElement(\"path\", { d: \"M14.8745616,14.4162764 C15.3159789,14.440487 15.5487088,14.6453304 15.5721741,15.0302087 C15.5487088,15.4398955 15.3394443,15.6441411 14.9442844,15.6441411 L11.9445701,15.6441411 C11.5025757,15.6441411 11.2817709,15.4398955 11.2817709,15.0302087 C11.2584018,14.9100526 11.3166804,14.7536303 11.4562221,14.5606432 C11.6420213,14.3439436 11.8279166,14.127244 12.0142928,13.9105444 C12.7817242,13.0680563 13.339795,12.369935 13.6886012,11.8156822 C13.8978657,11.5267494 14.002498,11.2378167 14.002498,10.9488839 C13.9556635,10.5154847 13.746399,10.2751724 13.3746083,10.226552 C13.0024329,10.226552 12.7347936,10.5036285 12.5724598,11.0572835 C12.432918,11.5148932 12.2350015,11.7315928 11.9793834,11.7073822 C11.537389,11.7073822 11.3167766,11.4906827 11.3167766,11.0572835 C11.4176783,9.98807895 11.9602374,9.32514076 12.9424518,9.05442834 C13.5415272,8.88931453 14.2250594,9.11615024 14.4346419,9.22243967 C15.0292798,9.52400928 15.3502647,10.075465 15.3976267,10.8766507 C15.3976267,11.5510596 14.8744655,12.5019474 13.8280468,13.7300113 C13.5489633,14.0674648 13.3625871,14.2960206 13.2698799,14.4162764 L14.8745616,14.4162764 Z\", id: \"path-7\" })))))\n    },\n    /* @__PURE__ */ import_react.default.createElement(\"span\", null, \"\\u5728O2\\u4E2D\\u6253\\u5F00\")\n  ),\n  document.getElementById(\"virtualListEnUs-O2\")\n);\nimport_react_dom.default.render(\n  /* @__PURE__ */ import_react.default.createElement(\n    import_next.Balloon.Tooltip,\n    {\n      align: \"b\",\n      style: { maxWidth: 400 },\n      trigger: /* @__PURE__ */ import_react.default.createElement(\"span\", { role: \"img\", className: \"op-icon\", onClick: () => onRiddleOrCodePenClick(\"CodePen\") }, /* @__PURE__ */ import_react.default.createElement(\"svg\", { viewBox: \"0 0 20 20\", fill: \"currentColor\" }, /* @__PURE__ */ import_react.default.createElement(\n        \"path\",\n        {\n          d: \"M17.7207447,7.0537234 L10.2739362,2.0893617 C10.0952128,1.97021277 9.86223404,1.97021277 9.68404255,2.0893617 L2.23723404,7.0537234 C2.0893617,7.15212766 2.00053191,7.31861702 2.00053191,7.4962766 L2.00053191,12.4606383 C2.00053191,12.6382979 2.0893617,12.8047872 2.23723404,12.9031915 L9.68404255,17.8675532 C9.77340426,17.9271277 9.87606383,17.9569149 9.97925532,17.9569149 C10.0824468,17.9569149 10.1851064,17.9271277 10.2744681,17.8675532 L17.7212766,12.9031915 C17.8691489,12.8047872 17.9579787,12.6382979 17.9579787,12.4606383 L17.9579787,7.4962766 C17.9579787,7.31861702 17.8691489,7.15212766 17.7212766,7.0537234 L17.7207447,7.0537234 Z M9.9787234,11.8218085 L7.2143617,9.9787234 L9.9787234,8.1356383 L12.7430851,9.9787234 L9.9787234,11.8218085 Z M10.5106383,7.21170213 L10.5106383,3.52553191 L16.4664894,7.4962766 L13.7021277,9.3393617 L10.5106383,7.21170213 Z M9.44680851,7.21170213 L6.25531915,9.3393617 L3.49095745,7.4962766 L9.44680851,3.52553191 L9.44680851,7.21170213 Z M5.2962766,9.9787234 L3.06382979,11.4670213 L3.06382979,8.49042553 L5.2962766,9.9787234 Z M6.25531915,10.6180851 L9.44680851,12.7457447 L9.44680851,16.4319149 L3.49095745,12.4611702 L6.25531915,10.6180851 Z M10.5106383,12.7457447 L13.7021277,10.6180851 L16.4664894,12.4611702 L10.5106383,16.4319149 L10.5106383,12.7457447 Z M14.6611702,9.9787234 L16.893617,8.49042553 L16.893617,11.4670213 L14.6611702,9.9787234 Z\"\n        }\n      )))\n    },\n    /* @__PURE__ */ import_react.default.createElement(\"span\", null, \"\\u5728CodePen\\u4E2D\\u6253\\u5F00\")\n  ),\n  document.getElementById(\"virtualListEnUs-CodePen\")\n);\nimport_react_dom.default.render(\n  /* @__PURE__ */ import_react.default.createElement(\n    import_next.Balloon.Tooltip,\n    {\n      align: \"b\",\n      style: { maxWidth: 400 },\n      trigger: /* @__PURE__ */ import_react.default.createElement(\"span\", { role: \"img\", className: \"op-icon\", onClick: () => onRiddleOrCodePenClick(\"Riddle\") }, /* @__PURE__ */ import_react.default.createElement(\"svg\", { viewBox: \"0 0 20 20\", fill: \"currentColor\" }, /* @__PURE__ */ import_react.default.createElement(\n        \"path\",\n        {\n          d: \"M12.0135981,2 C14.9585189,2 17.345849,4.38716704 17.345849,7.33333333 C17.345849,9.38478693 16.1882418,11.1657179 14.4903288,12.0578577 L17.2084049,16.7658872 C17.2378708,16.8169235 17.2591949,16.8704263 17.2727803,16.9248914 C17.3474476,17.0262914 17.3916465,17.1520943 17.3916465,17.2882205 C17.3916465,17.628088 17.1161295,17.9036051 16.7762619,17.9036051 L2.81174505,17.9048498 C2.75007855,17.9255976 2.68404472,17.9368421 2.61538462,17.9368421 C2.27551708,17.9368421 2,17.661325 2,17.3214575 L2,4.90050552 C2,4.44767651 2.36696407,4.08058607 2.8201909,4.08058607 L2.8201909,4.08058607 L4.598,4.08 L4.59829061,3.64037695 C4.59829061,2.78210363 5.25867561,2.07778272 6.09736436,2.00602116 L6.23871411,2 Z M11.9839597,3.23076923 L6.23745245,3.23076923 C6.01143198,3.23076923 5.82905984,3.41419855 5.82905984,3.64047008 L5.82905984,3.64047008 L5.829,4.08 L11.5615101,4.08058607 C13.3089935,4.08058607 14.7370181,5.4476011 14.8334247,7.17082808 L14.8386124,7.35677655 C14.8386124,9.16616658 13.3721154,10.632967 11.5615101,10.632967 L11.5615101,10.632967 L10.299,10.632 L12.6155561,14.6429723 C12.7020335,14.7927556 12.7183875,14.9637818 12.6748043,15.1180362 C12.6779184,15.1342067 12.6786336,15.1513556 12.6786336,15.1686715 C12.6786336,15.508539 12.4031165,15.7840561 12.063249,15.7840561 L5.39477011,15.7840561 C5.33908357,15.7840561 5.28512459,15.7766596 5.23382202,15.7627953 L5.21367522,15.7639098 L5.21367522,15.7639098 C4.87380768,15.7639098 4.59829061,15.4883927 4.59829061,15.1485252 L4.598,5.323 L3.23076923,5.32307709 L3.23,16.672 L15.733,16.672 L13.0769083,12.0713449 C12.9069827,11.7770252 13.0078241,11.40068 13.3021438,11.2307544 C13.3538063,11.200927 13.4079962,11.1794424 13.4631533,11.1658825 C14.9972153,10.5673738 16.0854701,9.07745387 16.0854701,7.33333333 C16.0854701,5.06705157 14.2491614,3.23076923 11.9839597,3.23076923 L11.9839597,3.23076923 Z M11.7212434,5.32867389 L11.5688942,5.32307709 L5.829,5.323 L5.82905984,11.0261966 C5.82905984,11.0464748 5.83052125,11.0664018 5.83334393,11.0858783 L5.84579569,11.1428571 L5.829,11.142 L5.829,14.553 L11.142,14.553 L8.71393544,10.3467056 C8.54400168,10.0523717 8.64484792,9.67600839 8.93918185,9.50607462 C9.01663814,9.46135521 9.09977514,9.43538787 9.18333591,9.42676402 L9.18350929,9.40512829 L11.5688942,9.40512829 C12.6982428,9.40512829 13.6102561,8.49132999 13.6102561,7.36410269 C13.6102561,6.23662753 12.6963072,5.32307709 11.5688942,5.32307709 Z\"\n        }\n      )))\n    },\n    /* @__PURE__ */ import_react.default.createElement(\"span\", null, \"\\u5728Riddle\\u4E2D\\u6253\\u5F00\")\n  ),\n  document.getElementById(\"virtualListEnUs-Riddle\")\n);\nimport_react_dom.default.render(\n  /* @__PURE__ */ import_react.default.createElement(\n    import_next.Balloon.Tooltip,\n    {\n      align: \"b\",\n      style: { maxWidth: 320 },\n      trigger: /* @__PURE__ */ import_react.default.createElement(\"span\", { className: \"code-box-code-action\", onClick: () => {\n        import_next.Message.success(\"\\u590D\\u5236\\u6210\\u529F\");\n      } }, /* @__PURE__ */ import_react.default.createElement(\"svg\", { viewBox: \"0 0 20 20\", focusable: \"false\", \"data-icon\": \"snippets\", width: \"20px\", height: \"20px\", fill: \"currentColor\", \"aria-hidden\": \"true\" }, /* @__PURE__ */ import_react.default.createElement(\"path\", { d: \"M15,5 L15,18 L2,18 L2,5 L15,5 Z M14,6 L3,6 L3,17 L14,17 L14,6 Z M18,2 L18,15 L16,15 L16,13.999 L17,14 L17,3 L6,3 L6,4 L5,4 L5,2 L18,2 Z M9,8 L9,11 L12,11 L12,12 L9,12 L9,15 L8,15 L8,12 L5,12 L5,11 L8,11 L8,8 L9,8 Z\" })))\n    },\n    /* @__PURE__ */ import_react.default.createElement(\"span\", null, \"\\u590D\\u5236\\u4EE3\\u7801\")\n  ),\n  document.getElementById(\"virtualListEnUs-copy-btn\")\n);\nimport_react_dom.default.render(/* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(\n  import_next.Balloon.Tooltip,\n  {\n    align: \"b\",\n    style: { maxWidth: 400 },\n    trigger: /* @__PURE__ */ import_react.default.createElement(\"span\", { id: \"virtualListEnUs-icon-show\", className: \"code-box-code-action code-expand-icon-show\" }, /* @__PURE__ */ import_react.default.createElement(\"svg\", { alt: \"expand code\", width: \"20px\", height: \"20px\", viewBox: \"0 0 20 20\", fill: \"currentColor\" }, /* @__PURE__ */ import_react.default.createElement(\n      \"path\",\n      {\n        d: \"M14.4307124,13.5667899 L15.1349452,14.276759 L10.7473676,18.6288871 L6.42783259,14.2738791 L7.13782502,13.5696698 L10.7530744,17.2147744 L14.4307124,13.5667899 Z M4.79130753,8.067524 L16.3824174,11.1733525 L16.1235984,12.1392784 L4.53248848,9.03344983 L4.79130753,8.067524 Z M10.8154102,1.57503552 L15.1349452,5.93004351 L14.4249528,6.63425282 L10.809949,2.98914817 L7.13206544,6.6371327 L6.42783259,5.92716363 L10.8154102,1.57503552 Z\",\n        transform: \"translate(10.457453, 10.101961) rotate(90.000000) translate(-10.457453, -10.101961) \"\n      }\n    )))\n  },\n  /* @__PURE__ */ import_react.default.createElement(\"span\", null, \"\\u5C55\\u5F00\\u4EE3\\u7801\", /* @__PURE__ */ import_react.default.createElement(\"br\", null), /* @__PURE__ */ import_react.default.createElement(\"br\", null), \"\\u5C0F\\u63D0\\u793A: \", /* @__PURE__ */ import_react.default.createElement(\"br\", null), /* @__PURE__ */ import_react.default.createElement(\"br\", null), \" 1. \\u70B9\\u51FB\\u4E00\\u4E0B\\u4EE3\\u7801\\uFF0C\\u8BD5\\u4E00\\u8BD5\\u5728\\u7EBF\\u7F16\\u8F91\\u9884\\u89C8\\u5427\\uFF01 \", /* @__PURE__ */ import_react.default.createElement(\"br\", null), /* @__PURE__ */ import_react.default.createElement(\"br\", null), \"2. \\u9875\\u9762\\u53F3\\u4E0A\\u65B9 \\u6709 \", /* @__PURE__ */ import_react.default.createElement(\"strong\", null, \"\\u5168\\u5C40\\u4EE3\\u7801\\u5C55\\u5F00\"), \" \\u53CA \", /* @__PURE__ */ import_react.default.createElement(\"strong\", null, \"\\u5F00\\u542F\\u5728\\u7EBF\\u7F16\\u8F91\"), \" \\u6A21\\u5F0F\\u54DF\\uFF5E\")\n), /* @__PURE__ */ import_react.default.createElement(\n  import_next.Balloon.Tooltip,\n  {\n    align: \"b\",\n    style: { maxWidth: 400 },\n    trigger: /* @__PURE__ */ import_react.default.createElement(\"span\", { id: \"virtualListEnUs-icon-hide\", className: \"code-box-code-action code-expand-icon-hide\", style: { display: \"none\" } }, /* @__PURE__ */ import_react.default.createElement(\"svg\", { alt: \"expand code\", width: \"20px\", height: \"20px\", viewBox: \"0 0 20 20\", style: { fill: \"#3B9AFF\" } }, /* @__PURE__ */ import_react.default.createElement(\n      \"path\",\n      {\n        d: \"M14.4307124,13.5667899 L15.1349452,14.276759 L10.7473676,18.6288871 L6.42783259,14.2738791 L7.13782502,13.5696698 L10.7530744,17.2147744 L14.4307124,13.5667899 Z M4.79130753,8.067524 L16.3824174,11.1733525 L16.1235984,12.1392784 L4.53248848,9.03344983 L4.79130753,8.067524 Z M10.8154102,1.57503552 L15.1349452,5.93004351 L14.4249528,6.63425282 L10.809949,2.98914817 L7.13206544,6.6371327 L6.42783259,5.92716363 L10.8154102,1.57503552 Z\",\n        transform: \"translate(10.457453, 10.101961) rotate(90.000000) translate(-10.457453, -10.101961) \"\n      }\n    )))\n  },\n  /* @__PURE__ */ import_react.default.createElement(\"span\", null, \"\\u6536\\u8D77\\u4EE3\\u7801\", /* @__PURE__ */ import_react.default.createElement(\"br\", null), /* @__PURE__ */ import_react.default.createElement(\"br\", null), \"\\u5C0F\\u63D0\\u793A: \", /* @__PURE__ */ import_react.default.createElement(\"br\", null), /* @__PURE__ */ import_react.default.createElement(\"br\", null), \" 1. \\u70B9\\u51FB\\u4E00\\u4E0B\\u4EE3\\u7801\\uFF0C\\u8BD5\\u4E00\\u8BD5\\u5728\\u7EBF\\u7F16\\u8F91\\u9884\\u89C8\\u5427\\uFF01 \", /* @__PURE__ */ import_react.default.createElement(\"br\", null), /* @__PURE__ */ import_react.default.createElement(\"br\", null), \"2. \\u9875\\u9762\\u53F3\\u4E0A\\u65B9 \\u6709 \", /* @__PURE__ */ import_react.default.createElement(\"strong\", null, \"\\u5168\\u5C40\\u4EE3\\u7801\\u5C55\\u5F00\"), \" \\u53CA \", /* @__PURE__ */ import_react.default.createElement(\"strong\", null, \"\\u5F00\\u542F\\u5728\\u7EBF\\u7F16\\u8F91\"), \" \\u6A21\\u5F0F\\u54DF\\uFF5E\")\n)), document.getElementById(\"virtualListEnUs-fold-code\"));\n})()</script>"}