<article data-v-608e4900="">
    <section class="markdown">
        <h1>Transfer <span class="subtitle">穿梭框</span></h1>
        <section class="markdown">
            <p>双栏穿梭选择框。</p>
            <h2 id="何时使用">何时使用</h2>
            <ul>
                <li>需要在多个可选项中进行多选时。</li>
                <li>比起 Select 和 TreeSelect，穿梭框占据更大的空间，可以展示可选项的更多信息。</li>
            </ul>
        </section>
    </section>
    <section class="markdown">
        <h2>代码演示</h2>
    </section>
    <div class="ant-row" data-v-608e4900="" style="margin-left: -8px; margin-right: -8px; row-gap: 0px;">
        <div class="ant-col ant-col-24 code-boxes-col-1-1" style="padding-left: 8px; padding-right: 8px;">
            <section class="code-box" id="components-transfer-demo-basic">
                <section class="code-box-demo">
                    <div>
                        <div class="ant-transfer">
                            <div class="ant-transfer-list">
                                <div class="ant-transfer-list-header"><label class="ant-checkbox-wrapper"><span class="ant-checkbox ant-checkbox-indeterminate"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-header-selected"><span>2/14 项</span>
                                    <span class="ant-transfer-list-header-title">Source</span>
                                    </span>
                                </div>
                                <div class="ant-transfer-list-body">
                                    <!---->
                                    <ul class="ant-transfer-list-content">
                                        <li class="ant-transfer-list-content-item ant-transfer-list-content-item-disabled" title="content1"><label class="ant-checkbox-wrapper ant-checkbox-wrapper-disabled"><span class="ant-checkbox ant-checkbox-disabled"><input type="checkbox" disabled="" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label>
                                            <span class="ant-transfer-list-content-item-text">content1</span>
                                        </li>
                                        <li class="ant-transfer-list-content-item" title="content2"><label class="ant-checkbox-wrapper ant-checkbox-wrapper-checked"><span class="ant-checkbox ant-checkbox-checked"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label>
                                            <span class="ant-transfer-list-content-item-text">content2</span>
                                        </li>
                                        <li class="ant-transfer-list-content-item ant-transfer-list-content-item-disabled" title="content4"><label class="ant-checkbox-wrapper ant-checkbox-wrapper-disabled"><span class="ant-checkbox ant-checkbox-disabled"><input type="checkbox" disabled="" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label>
                                            <span class="ant-transfer-list-content-item-text">content4</span>
                                        </li>
                                        <li class="ant-transfer-list-content-item" title="content5"><label class="ant-checkbox-wrapper ant-checkbox-wrapper-checked"><span class="ant-checkbox ant-checkbox-checked"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label>
                                            <span class="ant-transfer-list-content-item-text">content5</span>
                                        </li>
                                        <li class="ant-transfer-list-content-item ant-transfer-list-content-item-disabled" title="content7"><label class="ant-checkbox-wrapper ant-checkbox-wrapper-disabled"><span class="ant-checkbox ant-checkbox-disabled"><input type="checkbox" disabled="" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label>
                                            <span class="ant-transfer-list-content-item-text">content7</span>
                                        </li>
                                        <li class="ant-transfer-list-content-item" title="content8"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content8</span></li>
                                        <li class="ant-transfer-list-content-item ant-transfer-list-content-item-disabled" title="content10"><label class="ant-checkbox-wrapper ant-checkbox-wrapper-disabled"><span class="ant-checkbox ant-checkbox-disabled"><input type="checkbox" disabled="" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label>
                                            <span class="ant-transfer-list-content-item-text">content10</span>
                                        </li>
                                        <li class="ant-transfer-list-content-item" title="content11"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content11</span></li>
                                        <li class="ant-transfer-list-content-item ant-transfer-list-content-item-disabled" title="content13"><label class="ant-checkbox-wrapper ant-checkbox-wrapper-disabled"><span class="ant-checkbox ant-checkbox-disabled"><input type="checkbox" disabled="" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label>
                                            <span class="ant-transfer-list-content-item-text">content13</span>
                                        </li>
                                        <li class="ant-transfer-list-content-item" title="content14"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content14</span></li>
                                        <li class="ant-transfer-list-content-item ant-transfer-list-content-item-disabled" title="content16"><label class="ant-checkbox-wrapper ant-checkbox-wrapper-disabled"><span class="ant-checkbox ant-checkbox-disabled"><input type="checkbox" disabled="" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label>
                                            <span class="ant-transfer-list-content-item-text">content16</span>
                                        </li>
                                        <li class="ant-transfer-list-content-item" title="content17"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content17</span></li>
                                        <li class="ant-transfer-list-content-item ant-transfer-list-content-item-disabled" title="content19"><label class="ant-checkbox-wrapper ant-checkbox-wrapper-disabled"><span class="ant-checkbox ant-checkbox-disabled"><input type="checkbox" disabled="" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label>
                                            <span class="ant-transfer-list-content-item-text">content19</span>
                                        </li>
                                        <li class="ant-transfer-list-content-item" title="content20"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label>
                                            <span class="ant-transfer-list-content-item-text">content20</span>
                                        </li>
                                    </ul>
                                </div>
                                <!---->
                            </div>
                            <div class="ant-transfer-operation"><button class="ant-btn ant-btn-primary ant-btn-sm ant-btn-icon-only" type="button"><span role="img" aria-label="right" class="anticon anticon-right"><svg focusable="false" class="" data-icon="right" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"></path></svg></span></button>
                                <button disabled="" class="ant-btn ant-btn-primary ant-btn-sm ant-btn-icon-only" type="button"><span role="img" aria-label="left" class="anticon anticon-left"><svg focusable="false" class="" data-icon="left" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"></path></svg></span></button>
                            </div>
                            <div class="ant-transfer-list">
                                <div class="ant-transfer-list-header"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-header-selected"><span>6 项</span>
                                    <span class="ant-transfer-list-header-title">Target</span>
                                    </span>
                                </div>
                                <div class="ant-transfer-list-body">
                                    <!---->
                                    <ul class="ant-transfer-list-content">
                                        <li class="ant-transfer-list-content-item" title="content3"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content3</span></li>
                                        <li class="ant-transfer-list-content-item" title="content6"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content6</span></li>
                                        <li class="ant-transfer-list-content-item" title="content9"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content9</span></li>
                                        <li class="ant-transfer-list-content-item" title="content12"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content12</span></li>
                                        <li class="ant-transfer-list-content-item" title="content15"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content15</span></li>
                                        <li class="ant-transfer-list-content-item" title="content18"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content18</span></li>
                                    </ul>
                                </div>
                                <!---->
                            </div>
                        </div><button type="button" role="switch" aria-checked="false" class="ant-switch" style="margin-top: 16px;"><!----><span class="ant-switch-inner">enabled</span></button></div>
                </section>
                <section class="code-box-meta markdown">
                    <div class="code-box-title"><a href="#components-transfer-demo-basic">基本用法</a></div>
                    <div class="code-box-description">
                        <p>最基本的用法，展示了 <code>dataSource</code>、<code>targetKeys</code>、每行的渲染函数 <code>render</code> 以及回调函数 <code>change</code> <code>selectChange</code> <code>scroll</code> 的用法。</p>
                    </div>
                </section>
                <section class="highlight-wrapper">
                    <div class="highlight">
                        <pre class="language-vue"><code><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>template</span><span class="token punctuation">&gt;</span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span><span class="token punctuation">&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>a-transfer</span>
      <span class="token attr-name">:data-source</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>mockData<span class="token punctuation">"</span></span>
      <span class="token attr-name">:titles</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>[<span class="token punctuation">'</span>Source<span class="token punctuation">'</span>, <span class="token punctuation">'</span>Target<span class="token punctuation">'</span>]<span class="token punctuation">"</span></span>
      <span class="token attr-name">:target-keys</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>targetKeys<span class="token punctuation">"</span></span>
      <span class="token attr-name">:selected-keys</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>selectedKeys<span class="token punctuation">"</span></span>
      <span class="token attr-name">:render</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>item =&gt; item.title<span class="token punctuation">"</span></span>
      <span class="token attr-name">:disabled</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>disabled<span class="token punctuation">"</span></span>
      <span class="token attr-name">@change</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>handleChange<span class="token punctuation">"</span></span>
      <span class="token attr-name">@selectChange</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>handleSelectChange<span class="token punctuation">"</span></span>
      <span class="token attr-name">@scroll</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>handleScroll<span class="token punctuation">"</span></span>
    <span class="token punctuation">/&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>a-switch</span>
      <span class="token attr-name">un-checked-children</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>enabled<span class="token punctuation">"</span></span>
      <span class="token attr-name">checked-children</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>disabled<span class="token punctuation">"</span></span>
      <span class="token attr-name"><span class="token namespace">v-model:</span>checked</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>disabled<span class="token punctuation">"</span></span>
      <span class="token special-attr"><span class="token attr-name">style</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><span class="token value css language-css"><span class="token property">margin-top</span><span class="token punctuation">:</span> 16px</span><span class="token punctuation">"</span></span></span>
    <span class="token punctuation">/&gt;</span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>template</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>script</span> <span class="token attr-name">lang</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>ts<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span><span class="token script"><span class="token language-javascript">
<span class="token keyword">import</span> <span class="token punctuation">{</span> defineComponent<span class="token punctuation">,</span> ref <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'vue'</span><span class="token punctuation">;</span>
<span class="token keyword">interface</span> <span class="token class-name">MockData</span> <span class="token punctuation">{</span>
  key<span class="token operator">:</span> string<span class="token punctuation">;</span>
  title<span class="token operator">:</span> string<span class="token punctuation">;</span>
  description<span class="token operator">:</span> string<span class="token punctuation">;</span>
  disabled<span class="token operator">:</span> boolean<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">const</span> mockData<span class="token operator">:</span> MockData<span class="token punctuation">[</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
<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">20</span><span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  mockData<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
    key<span class="token operator">:</span> i<span class="token punctuation">.</span><span class="token function">toString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
    title<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 operator">+</span> <span class="token number">1</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">`</span></span><span class="token punctuation">,</span>
    description<span class="token operator">:</span> <span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">description of content</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>i <span class="token operator">+</span> <span class="token number">1</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">`</span></span><span class="token punctuation">,</span>
    disabled<span class="token operator">:</span> i <span class="token operator">%</span> <span class="token number">3</span> <span class="token operator">&lt;</span> <span class="token number">1</span><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> 
<span class="token keyword">const</span> oriTargetKeys <span class="token operator">=</span> mockData<span class="token punctuation">.</span><span class="token function">filter</span><span class="token punctuation">(</span><span class="token parameter">item</span> <span class="token operator">=&gt;</span> <span class="token operator">+</span>item<span class="token punctuation">.</span>key <span class="token operator">%</span> <span class="token number">3</span> <span class="token operator">&gt;</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span><span class="token parameter">item</span> <span class="token operator">=&gt;</span> item<span class="token punctuation">.</span>key<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">export</span> <span class="token keyword">default</span> <span class="token function">defineComponent</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
  <span class="token function">data</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">const</span> disabled <span class="token operator">=</span> ref<span class="token operator">&lt;</span>boolean<span class="token operator">&gt;</span><span class="token punctuation">(</span><span class="token boolean">false</span><span class="token punctuation">)</span><span class="token punctuation">;</span> 
    <span class="token keyword">const</span> targetKeys <span class="token operator">=</span> ref<span class="token operator">&lt;</span>string<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token operator">&gt;</span><span class="token punctuation">(</span>oriTargetKeys<span class="token punctuation">)</span><span class="token punctuation">;</span> 
    <span class="token keyword">const</span> selectedKeys <span class="token operator">=</span> ref<span class="token operator">&lt;</span>string<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token operator">&gt;</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 string">'4'</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span> 
    <span class="token keyword">const</span> <span class="token function-variable function">handleChange</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token parameter">nextTargetKeys<span class="token operator">:</span> string<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">,</span> direction<span class="token operator">:</span> string<span class="token punctuation">,</span> moveKeys<span class="token operator">:</span> string<span class="token punctuation">[</span><span class="token punctuation">]</span></span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
      targetKeys<span class="token punctuation">.</span>value <span class="token operator">=</span> nextTargetKeys<span class="token punctuation">;</span>
      console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'targetKeys: '</span><span class="token punctuation">,</span> nextTargetKeys<span class="token punctuation">)</span><span class="token punctuation">;</span>
      console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'direction: '</span><span class="token punctuation">,</span> direction<span class="token punctuation">)</span><span class="token punctuation">;</span>
      console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'moveKeys: '</span><span class="token punctuation">,</span> moveKeys<span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span><span class="token punctuation">;</span>
    <span class="token keyword">const</span> <span class="token function-variable function">handleSelectChange</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token parameter">sourceSelectedKeys<span class="token operator">:</span> string<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">,</span> targetSelectedKeys<span class="token operator">:</span> string<span class="token punctuation">[</span><span class="token punctuation">]</span></span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
      selectedKeys<span class="token punctuation">.</span>value <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token operator">...</span>sourceSelectedKeys<span class="token punctuation">,</span> <span class="token operator">...</span>targetSelectedKeys<span class="token punctuation">]</span><span class="token punctuation">;</span>
      console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'sourceSelectedKeys: '</span><span class="token punctuation">,</span> sourceSelectedKeys<span class="token punctuation">)</span><span class="token punctuation">;</span>
      console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'targetSelectedKeys: '</span><span class="token punctuation">,</span> targetSelectedKeys<span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span><span class="token punctuation">;</span>
    <span class="token keyword">const</span> <span class="token function-variable function">handleScroll</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token parameter">direction<span class="token operator">:</span> string<span class="token punctuation">,</span> e<span class="token operator">:</span> Event</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
      console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'direction:'</span><span class="token punctuation">,</span> direction<span class="token punctuation">)</span><span class="token punctuation">;</span>
      console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'target:'</span><span class="token punctuation">,</span> e<span class="token punctuation">.</span>target<span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span><span class="token punctuation">;</span> 
    <span class="token keyword">return</span> <span class="token punctuation">{</span>
      mockData<span class="token punctuation">,</span>
      targetKeys<span class="token punctuation">,</span>
      selectedKeys<span class="token punctuation">,</span>
      disabled<span class="token punctuation">,</span>
      handleChange<span class="token punctuation">,</span>
      handleSelectChange<span class="token punctuation">,</span>
      handleScroll<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>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>script</span><span class="token punctuation">&gt;</span></span>
</code></pre>
                    </div>
                </section>
            </section>
            <section class="code-box" id="components-transfer-demo-search">
                <section class="code-box-demo">
                    <div class="ant-transfer">
                        <div class="ant-transfer-list">
                            <div class="ant-transfer-list-header"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-header-selected"><span>5 项</span>
                                <span class="ant-transfer-list-header-title"></span>
                                </span>
                            </div>
                            <div class="ant-transfer-list-body ant-transfer-list-body-with-search">
                                <div class="ant-transfer-list-body-search-wrapper"><input placeholder="请输入搜索内容" type="text" class="ant-input ant-transfer-list-search"><span class="ant-transfer-list-search-action"><span role="img" aria-label="search" class="anticon anticon-search"><svg focusable="false" class="" data-icon="search" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"></path></svg></span></span>
                                </div>
                                <ul class="ant-transfer-list-content">
                                    <li class="ant-transfer-list-content-item" title="content4"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content4</span></li>
                                    <li class="ant-transfer-list-content-item" title="content6"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content6</span></li>
                                    <li class="ant-transfer-list-content-item" title="content9"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content9</span></li>
                                    <li class="ant-transfer-list-content-item" title="content10"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content10</span></li>
                                    <li class="ant-transfer-list-content-item" title="content19"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content19</span></li>
                                </ul>
                            </div>
                            <!---->
                        </div>
                        <div class="ant-transfer-operation"><button disabled="" class="ant-btn ant-btn-primary ant-btn-sm ant-btn-icon-only" type="button"><span role="img" aria-label="right" class="anticon anticon-right"><svg focusable="false" class="" data-icon="right" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"></path></svg></span></button>
                            <button disabled="" class="ant-btn ant-btn-primary ant-btn-sm ant-btn-icon-only" type="button"><span role="img" aria-label="left" class="anticon anticon-left"><svg focusable="false" class="" data-icon="left" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"></path></svg></span></button>
                        </div>
                        <div class="ant-transfer-list">
                            <div class="ant-transfer-list-header"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-header-selected"><span>15 项</span>
                                <span class="ant-transfer-list-header-title"></span>
                                </span>
                            </div>
                            <div class="ant-transfer-list-body ant-transfer-list-body-with-search">
                                <div class="ant-transfer-list-body-search-wrapper"><input placeholder="请输入搜索内容" type="text" class="ant-input ant-transfer-list-search"><span class="ant-transfer-list-search-action"><span role="img" aria-label="search" class="anticon anticon-search"><svg focusable="false" class="" data-icon="search" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"></path></svg></span></span>
                                </div>
                                <ul class="ant-transfer-list-content">
                                    <li class="ant-transfer-list-content-item" title="content1"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content1</span></li>
                                    <li class="ant-transfer-list-content-item" title="content2"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content2</span></li>
                                    <li class="ant-transfer-list-content-item" title="content3"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content3</span></li>
                                    <li class="ant-transfer-list-content-item" title="content5"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content5</span></li>
                                    <li class="ant-transfer-list-content-item" title="content7"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content7</span></li>
                                    <li class="ant-transfer-list-content-item" title="content8"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content8</span></li>
                                    <li class="ant-transfer-list-content-item" title="content11"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content11</span></li>
                                    <li class="ant-transfer-list-content-item" title="content12"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content12</span></li>
                                    <li class="ant-transfer-list-content-item" title="content13"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content13</span></li>
                                    <li class="ant-transfer-list-content-item" title="content14"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content14</span></li>
                                    <li class="ant-transfer-list-content-item" title="content15"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label>
                                        <span class="ant-transfer-list-content-item-text">content15</span>
                                    </li>
                                    <li class="ant-transfer-list-content-item" title="content16"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label>
                                        <span class="ant-transfer-list-content-item-text">content16</span>
                                    </li>
                                    <li class="ant-transfer-list-content-item" title="content17"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label>
                                        <span class="ant-transfer-list-content-item-text">content17</span>
                                    </li>
                                    <li class="ant-transfer-list-content-item" title="content18"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label>
                                        <span class="ant-transfer-list-content-item-text">content18</span>
                                    </li>
                                    <li class="ant-transfer-list-content-item" title="content20"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label>
                                        <span class="ant-transfer-list-content-item-text">content20</span>
                                    </li>
                                </ul>
                            </div>
                            <!---->
                        </div>
                    </div>
                </section>
                <section class="code-box-meta markdown">
                    <div class="code-box-title"><a href="#components-transfer-demo-search">带搜索框</a></div>
                    <div class="code-box-description">
                        <p>带搜索框的穿梭框，可以自定义搜索函数。</p>
                    </div>
                </section>
                <section class="highlight-wrapper">
                    <div class="highlight">
                        <pre class="language-vue"><code><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>template</span><span class="token punctuation">&gt;</span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>a-transfer</span>
    <span class="token attr-name">:data-source</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>mockData<span class="token punctuation">"</span></span>
    <span class="token attr-name">show-search</span>
    <span class="token attr-name">:filter-option</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>filterOption<span class="token punctuation">"</span></span>
    <span class="token attr-name">:target-keys</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>targetKeys<span class="token punctuation">"</span></span>
    <span class="token attr-name">:render</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>item =&gt; item.title<span class="token punctuation">"</span></span>
    <span class="token attr-name">@change</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>handleChange<span class="token punctuation">"</span></span>
    <span class="token attr-name">@search</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>handleSearch<span class="token punctuation">"</span></span>
  <span class="token punctuation">/&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>template</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>script</span> <span class="token attr-name">lang</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>ts<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span><span class="token script"><span class="token language-javascript">
<span class="token keyword">import</span> <span class="token punctuation">{</span> defineComponent<span class="token punctuation">,</span> onMounted<span class="token punctuation">,</span> ref <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'vue'</span><span class="token punctuation">;</span>
<span class="token keyword">interface</span> <span class="token class-name">MockData</span> <span class="token punctuation">{</span>
  key<span class="token operator">:</span> string<span class="token punctuation">;</span>
  title<span class="token operator">:</span> string<span class="token punctuation">;</span>
  description<span class="token operator">:</span> string<span class="token punctuation">;</span>
  chosen<span class="token operator">:</span> boolean<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">export</span> <span class="token keyword">default</span> <span class="token function">defineComponent</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
  <span class="token function">setup</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">const</span> mockData <span class="token operator">=</span> ref<span class="token operator">&lt;</span>MockData<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token operator">&gt;</span><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> 
    <span class="token keyword">const</span> targetKeys <span class="token operator">=</span> ref<span class="token operator">&lt;</span>string<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token operator">&gt;</span><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>
    <span class="token function">onMounted</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
      <span class="token function">getMock</span><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><span class="token punctuation">;</span>
    <span class="token keyword">const</span> <span class="token function-variable function">getMock</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
      <span class="token keyword">const</span> keys <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
      <span class="token keyword">const</span> mData <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
      <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">20</span><span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
        <span class="token keyword">const</span> data <span class="token operator">=</span> <span class="token punctuation">{</span>
          key<span class="token operator">:</span> i<span class="token punctuation">.</span><span class="token function">toString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
          title<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 operator">+</span> <span class="token number">1</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">`</span></span><span class="token punctuation">,</span>
          description<span class="token operator">:</span> <span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">description of content</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>i <span class="token operator">+</span> <span class="token number">1</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">`</span></span><span class="token punctuation">,</span>
          chosen<span class="token operator">:</span> Math<span class="token punctuation">.</span><span class="token function">random</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">*</span> <span class="token number">2</span> <span class="token operator">&gt;</span> <span class="token number">1</span><span class="token punctuation">,</span>
        <span class="token punctuation">}</span><span class="token punctuation">;</span>
        <span class="token keyword">if</span> <span class="token punctuation">(</span>data<span class="token punctuation">.</span>chosen<span class="token punctuation">)</span> <span class="token punctuation">{</span>
          keys<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span>data<span class="token punctuation">.</span>key<span class="token punctuation">)</span><span class="token punctuation">;</span>
        <span class="token punctuation">}</span>
        mData<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span>data<span class="token punctuation">)</span><span class="token punctuation">;</span>
      <span class="token punctuation">}</span>
      mockData<span class="token punctuation">.</span>value <span class="token operator">=</span> mData<span class="token punctuation">;</span>
      targetKeys<span class="token punctuation">.</span>value <span class="token operator">=</span> keys<span class="token punctuation">;</span>
    <span class="token punctuation">}</span><span class="token punctuation">;</span>
    <span class="token keyword">const</span> <span class="token function-variable function">filterOption</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token parameter">inputValue<span class="token operator">:</span> string<span class="token punctuation">,</span> option<span class="token operator">:</span> MockData</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
      <span class="token keyword">return</span> option<span class="token punctuation">.</span>description<span class="token punctuation">.</span><span class="token function">indexOf</span><span class="token punctuation">(</span>inputValue<span class="token punctuation">)</span> <span class="token operator">&gt;</span> <span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span><span class="token punctuation">;</span>
    <span class="token keyword">const</span> <span class="token function-variable function">handleChange</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token parameter">keys<span class="token operator">:</span> string<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">,</span> direction<span class="token operator">:</span> string<span class="token punctuation">,</span> moveKeys<span class="token operator">:</span> string<span class="token punctuation">[</span><span class="token punctuation">]</span></span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
      console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>keys<span class="token punctuation">,</span> direction<span class="token punctuation">,</span> moveKeys<span class="token punctuation">)</span><span class="token punctuation">;</span>
      targetKeys<span class="token punctuation">.</span>value <span class="token operator">=</span> keys<span class="token punctuation">;</span>
    <span class="token punctuation">}</span><span class="token punctuation">;</span> 
    <span class="token keyword">const</span> <span class="token function-variable function">handleSearch</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token parameter">dir<span class="token operator">:</span> string<span class="token punctuation">,</span> value<span class="token operator">:</span> string</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
      console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'search:'</span><span class="token punctuation">,</span> dir<span class="token punctuation">,</span> value<span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span><span class="token punctuation">;</span>
    <span class="token keyword">return</span> <span class="token punctuation">{</span>
      mockData<span class="token punctuation">,</span>
      targetKeys<span class="token punctuation">,</span>
      filterOption<span class="token punctuation">,</span>
      handleChange<span class="token punctuation">,</span>
      handleSearch<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>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>script</span><span class="token punctuation">&gt;</span></span>
</code></pre>
                    </div>
                </section>
            </section>
            <section class="code-box" id="components-transfer-demo-advanced">
                <section class="code-box-demo">
                    <div class="ant-transfer">
                        <div class="ant-transfer-list ant-transfer-list-with-footer" style="width: 250px; height: 300px;">
                            <div class="ant-transfer-list-header"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-header-selected"><span>8 项</span>
                                <span class="ant-transfer-list-header-title"></span>
                                </span>
                            </div>
                            <div class="ant-transfer-list-body ant-transfer-list-body-with-search">
                                <div class="ant-transfer-list-body-search-wrapper"><input placeholder="请输入搜索内容" type="text" class="ant-input ant-transfer-list-search"><span class="ant-transfer-list-search-action"><span role="img" aria-label="search" class="anticon anticon-search"><svg focusable="false" class="" data-icon="search" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"></path></svg></span></span>
                                </div>
                                <ul class="ant-transfer-list-content">
                                    <li class="ant-transfer-list-content-item" title="content1-description of content1"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content1-description of content1</span></li>
                                    <li class="ant-transfer-list-content-item" title="content4-description of content4"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content4-description of content4</span></li>
                                    <li class="ant-transfer-list-content-item" title="content5-description of content5"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content5-description of content5</span></li>
                                    <li class="ant-transfer-list-content-item" title="content7-description of content7"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content7-description of content7</span></li>
                                    <li class="ant-transfer-list-content-item" title="content13-description of content13"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content13-description of content13</span></li>
                                    <li class="ant-transfer-list-content-item" title="content16-description of content16"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content16-description of content16</span></li>
                                    <li class="ant-transfer-list-content-item" title="content19-description of content19"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content19-description of content19</span></li>
                                    <li class="ant-transfer-list-content-item" title="content20-description of content20"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content20-description of content20</span></li>
                                </ul>
                            </div>
                            <div class="ant-transfer-list-footer"><button class="ant-btn ant-btn-sm" type="button" style="float: right; margin: 5px;"><!----><span>reload</span></button></div>
                        </div>
                        <div class="ant-transfer-operation"><button disabled="" class="ant-btn ant-btn-primary ant-btn-sm" type="button"><span role="img" aria-label="right" class="anticon anticon-right"><svg focusable="false" class="" data-icon="right" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"></path></svg></span><span>to right</span></button>
                            <button disabled="" class="ant-btn ant-btn-primary ant-btn-sm" type="button"><span role="img" aria-label="left" class="anticon anticon-left"><svg focusable="false" class="" data-icon="left" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"></path></svg></span><span>to left</span></button>
                        </div>
                        <div class="ant-transfer-list ant-transfer-list-with-footer" style="width: 250px; height: 300px;">
                            <div class="ant-transfer-list-header"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-header-selected"><span>12 项</span>
                                <span class="ant-transfer-list-header-title"></span>
                                </span>
                            </div>
                            <div class="ant-transfer-list-body ant-transfer-list-body-with-search">
                                <div class="ant-transfer-list-body-search-wrapper"><input placeholder="请输入搜索内容" type="text" class="ant-input ant-transfer-list-search"><span class="ant-transfer-list-search-action"><span role="img" aria-label="search" class="anticon anticon-search"><svg focusable="false" class="" data-icon="search" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"></path></svg></span></span>
                                </div>
                                <ul class="ant-transfer-list-content">
                                    <li class="ant-transfer-list-content-item" title="content2-description of content2"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content2-description of content2</span></li>
                                    <li class="ant-transfer-list-content-item" title="content3-description of content3"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content3-description of content3</span></li>
                                    <li class="ant-transfer-list-content-item" title="content6-description of content6"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content6-description of content6</span></li>
                                    <li class="ant-transfer-list-content-item" title="content8-description of content8"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content8-description of content8</span></li>
                                    <li class="ant-transfer-list-content-item" title="content9-description of content9"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content9-description of content9</span></li>
                                    <li class="ant-transfer-list-content-item" title="content10-description of content10"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content10-description of content10</span></li>
                                    <li class="ant-transfer-list-content-item" title="content11-description of content11"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content11-description of content11</span></li>
                                    <li class="ant-transfer-list-content-item" title="content12-description of content12"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content12-description of content12</span></li>
                                    <li class="ant-transfer-list-content-item" title="content14-description of content14"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content14-description of content14</span></li>
                                    <li class="ant-transfer-list-content-item" title="content15-description of content15"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text">content15-description of content15</span></li>
                                    <li class="ant-transfer-list-content-item" title="content17-description of content17"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label>
                                        <span class="ant-transfer-list-content-item-text">content17-description of content17</span>
                                    </li>
                                    <li class="ant-transfer-list-content-item" title="content18-description of content18"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label>
                                        <span class="ant-transfer-list-content-item-text">content18-description of content18</span>
                                    </li>
                                </ul>
                            </div>
                            <div class="ant-transfer-list-footer"><button class="ant-btn ant-btn-sm" type="button" style="float: right; margin: 5px;"><!----><span>reload</span></button></div>
                        </div>
                    </div>
                </section>
                <section class="code-box-meta markdown">
                    <div class="code-box-title"><a href="#components-transfer-demo-advanced">高级用法</a></div>
                    <div class="code-box-description">
                        <p>穿梭框高级用法，可配置操作文案，可定制宽高，可对底部进行自定义渲染。</p>
                    </div>
                </section>
                <section class="highlight-wrapper">
                    <div class="highlight">
                        <pre class="language-vue"><code><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>template</span><span class="token punctuation">&gt;</span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>a-transfer</span>
    <span class="token attr-name">:data-source</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>mockData<span class="token punctuation">"</span></span>
    <span class="token attr-name">show-search</span>
    <span class="token attr-name">:list-style</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>{
      width: <span class="token punctuation">'</span>250px<span class="token punctuation">'</span>,
      height: <span class="token punctuation">'</span>300px<span class="token punctuation">'</span>,
    }<span class="token punctuation">"</span></span>
    <span class="token attr-name">:operations</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>[<span class="token punctuation">'</span>to right<span class="token punctuation">'</span>, <span class="token punctuation">'</span>to left<span class="token punctuation">'</span>]<span class="token punctuation">"</span></span>
    <span class="token attr-name">:target-keys</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>targetKeys<span class="token punctuation">"</span></span>
    <span class="token attr-name">:render</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>item =&gt; `${item.title}-${item.description}`<span class="token punctuation">"</span></span>
    <span class="token attr-name">@change</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>handleChange<span class="token punctuation">"</span></span>
  <span class="token punctuation">&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>template</span> <span class="token attr-name">#footer</span><span class="token punctuation">&gt;</span></span>
      <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>a-button</span> <span class="token attr-name">size</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>small<span class="token punctuation">"</span></span> <span class="token special-attr"><span class="token attr-name">style</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><span class="token value css language-css"><span class="token property">float</span><span class="token punctuation">:</span> right<span class="token punctuation">;</span> <span class="token property">margin</span><span class="token punctuation">:</span> 5px</span><span class="token punctuation">"</span></span></span> <span class="token attr-name">@click</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>getMock<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>reload<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>a-button</span><span class="token punctuation">&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>template</span><span class="token punctuation">&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>template</span> <span class="token attr-name">#notFoundContent</span><span class="token punctuation">&gt;</span></span>
      <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>span</span><span class="token punctuation">&gt;</span></span>没数据<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>span</span><span class="token punctuation">&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>template</span><span class="token punctuation">&gt;</span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>a-transfer</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>template</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>script</span> <span class="token attr-name">lang</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>ts<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span><span class="token script"><span class="token language-javascript">
<span class="token keyword">import</span> <span class="token punctuation">{</span> defineComponent<span class="token punctuation">,</span> ref<span class="token punctuation">,</span> onMounted <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'vue'</span><span class="token punctuation">;</span>
<span class="token keyword">interface</span> <span class="token class-name">MockData</span> <span class="token punctuation">{</span>
  key<span class="token operator">:</span> string<span class="token punctuation">;</span>
  title<span class="token operator">:</span> string<span class="token punctuation">;</span>
  description<span class="token operator">:</span> string<span class="token punctuation">;</span>
  chosen<span class="token operator">:</span> boolean<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">export</span> <span class="token keyword">default</span> <span class="token function">defineComponent</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
  <span class="token function">setup</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">const</span> mockData <span class="token operator">=</span> ref<span class="token operator">&lt;</span>MockData<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token operator">&gt;</span><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> 
    <span class="token keyword">const</span> targetKeys <span class="token operator">=</span> ref<span class="token operator">&lt;</span>string<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token operator">&gt;</span><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>
    <span class="token function">onMounted</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
      <span class="token function">getMock</span><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><span class="token punctuation">;</span>
    <span class="token keyword">const</span> <span class="token function-variable function">getMock</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
      <span class="token keyword">const</span> keys <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
      <span class="token keyword">const</span> mData <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
      <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">20</span><span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
        <span class="token keyword">const</span> data <span class="token operator">=</span> <span class="token punctuation">{</span>
          key<span class="token operator">:</span> i<span class="token punctuation">.</span><span class="token function">toString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
          title<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 operator">+</span> <span class="token number">1</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">`</span></span><span class="token punctuation">,</span>
          description<span class="token operator">:</span> <span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">description of content</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>i <span class="token operator">+</span> <span class="token number">1</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">`</span></span><span class="token punctuation">,</span>
          chosen<span class="token operator">:</span> Math<span class="token punctuation">.</span><span class="token function">random</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">*</span> <span class="token number">2</span> <span class="token operator">&gt;</span> <span class="token number">1</span><span class="token punctuation">,</span>
        <span class="token punctuation">}</span><span class="token punctuation">;</span>
        <span class="token keyword">if</span> <span class="token punctuation">(</span>data<span class="token punctuation">.</span>chosen<span class="token punctuation">)</span> <span class="token punctuation">{</span>
          keys<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span>data<span class="token punctuation">.</span>key<span class="token punctuation">)</span><span class="token punctuation">;</span>
        <span class="token punctuation">}</span>
        mData<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span>data<span class="token punctuation">)</span><span class="token punctuation">;</span>
      <span class="token punctuation">}</span>
      mockData<span class="token punctuation">.</span>value <span class="token operator">=</span> mData<span class="token punctuation">;</span>
      targetKeys<span class="token punctuation">.</span>value <span class="token operator">=</span> keys<span class="token punctuation">;</span>
    <span class="token punctuation">}</span><span class="token punctuation">;</span>
    <span class="token keyword">const</span> <span class="token function-variable function">handleChange</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token parameter">keys<span class="token operator">:</span> string<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">,</span> direction<span class="token operator">:</span> string<span class="token punctuation">,</span> moveKeys<span class="token operator">:</span> string<span class="token punctuation">[</span><span class="token punctuation">]</span></span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
      targetKeys<span class="token punctuation">.</span>value <span class="token operator">=</span> keys<span class="token punctuation">;</span>
      console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>keys<span class="token punctuation">,</span> direction<span class="token punctuation">,</span> moveKeys<span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span><span class="token punctuation">;</span>
    <span class="token keyword">return</span> <span class="token punctuation">{</span>
      mockData<span class="token punctuation">,</span>
      targetKeys<span class="token punctuation">,</span>
      handleChange<span class="token punctuation">,</span>
      getMock<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>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>script</span><span class="token punctuation">&gt;</span></span>
</code></pre>
                    </div>
                </section>
            </section>
            <section class="code-box" id="components-transfer-demo-custom-item">
                <section class="code-box-demo">
                    <div class="ant-transfer">
                        <div class="ant-transfer-list" style="width: 300px; height: 300px;">
                            <div class="ant-transfer-list-header"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-header-selected"><span>8 项</span>
                                <span class="ant-transfer-list-header-title"></span>
                                </span>
                            </div>
                            <div class="ant-transfer-list-body">
                                <!---->
                                <ul class="ant-transfer-list-content">
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content1 - description of content1</span></span>
                                    </li>
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content3 - description of content3</span></span>
                                    </li>
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content4 - description of content4</span></span>
                                    </li>
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content7 - description of content7</span></span>
                                    </li>
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content11 - description of content11</span></span>
                                    </li>
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content13 - description of content13</span></span>
                                    </li>
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content15 - description of content15</span></span>
                                    </li>
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content19 - description of content19</span></span>
                                    </li>
                                </ul>
                            </div>
                            <!---->
                        </div>
                        <div class="ant-transfer-operation"><button disabled="" class="ant-btn ant-btn-primary ant-btn-sm ant-btn-icon-only" type="button"><span role="img" aria-label="right" class="anticon anticon-right"><svg focusable="false" class="" data-icon="right" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"></path></svg></span></button>
                            <button disabled="" class="ant-btn ant-btn-primary ant-btn-sm ant-btn-icon-only" type="button"><span role="img" aria-label="left" class="anticon anticon-left"><svg focusable="false" class="" data-icon="left" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"></path></svg></span></button>
                        </div>
                        <div class="ant-transfer-list" style="width: 300px; height: 300px;">
                            <div class="ant-transfer-list-header"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-header-selected"><span>12 项</span>
                                <span class="ant-transfer-list-header-title"></span>
                                </span>
                            </div>
                            <div class="ant-transfer-list-body">
                                <!---->
                                <ul class="ant-transfer-list-content">
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content2 - description of content2</span></span>
                                    </li>
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content5 - description of content5</span></span>
                                    </li>
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content6 - description of content6</span></span>
                                    </li>
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content8 - description of content8</span></span>
                                    </li>
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content9 - description of content9</span></span>
                                    </li>
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content10 - description of content10</span></span>
                                    </li>
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content12 - description of content12</span></span>
                                    </li>
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content14 - description of content14</span></span>
                                    </li>
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content16 - description of content16</span></span>
                                    </li>
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content17 - description of content17</span></span>
                                    </li>
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content18 - description of content18</span></span>
                                    </li>
                                    <li class="ant-transfer-list-content-item"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span><!----></label><span class="ant-transfer-list-content-item-text"><span class="custom-item" style="color: red;">content20 - description of content20</span></span>
                                    </li>
                                </ul>
                            </div>
                            <!---->
                        </div>
                    </div>
                </section>
                <section class="code-box-meta markdown">
                    <div class="code-box-title"><a href="#components-transfer-demo-custom-item">自定义渲染行数据</a></div>
                    <div class="code-box-description">
                        <p>自定义渲染每一个 Transfer Item，可用于渲染复杂数据。</p>
                    </div>
                </section>
                <section class="highlight-wrapper">
                    <div class="highlight">
                        <pre class="language-vue"><code><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>template</span><span class="token punctuation">&gt;</span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>a-transfer</span>
    <span class="token attr-name">:data-source</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>mockData<span class="token punctuation">"</span></span>
    <span class="token attr-name">:list-style</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>{
      width: <span class="token punctuation">'</span>300px<span class="token punctuation">'</span>,
      height: <span class="token punctuation">'</span>300px<span class="token punctuation">'</span>,
    }<span class="token punctuation">"</span></span>
    <span class="token attr-name">:target-keys</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>targetKeys<span class="token punctuation">"</span></span>
    <span class="token attr-name">@change</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>handleChange<span class="token punctuation">"</span></span>
  <span class="token punctuation">&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>template</span> <span class="token attr-name">#render</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>item<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
      <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>span</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>custom-item<span class="token punctuation">"</span></span> <span class="token special-attr"><span class="token attr-name">style</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><span class="token value css language-css"><span class="token property">color</span><span class="token punctuation">:</span> red</span><span class="token punctuation">"</span></span></span><span class="token punctuation">&gt;</span></span>{{ item.title }} - {{ item.description }}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>span</span><span class="token punctuation">&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>template</span><span class="token punctuation">&gt;</span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>a-transfer</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>template</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>script</span> <span class="token attr-name">lang</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>ts<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span><span class="token script"><span class="token language-javascript">
<span class="token keyword">import</span> <span class="token punctuation">{</span> defineComponent<span class="token punctuation">,</span> ref<span class="token punctuation">,</span> onMounted <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'vue'</span><span class="token punctuation">;</span>
<span class="token keyword">interface</span> <span class="token class-name">MockData</span> <span class="token punctuation">{</span>
  key<span class="token operator">:</span> string<span class="token punctuation">;</span>
  title<span class="token operator">:</span> string<span class="token punctuation">;</span>
  description<span class="token operator">:</span> string<span class="token punctuation">;</span>
  chosen<span class="token operator">:</span> boolean<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">export</span> <span class="token keyword">default</span> <span class="token function">defineComponent</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
  <span class="token function">setup</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">const</span> mockData <span class="token operator">=</span> ref<span class="token operator">&lt;</span>MockData<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token operator">&gt;</span><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> 
    <span class="token keyword">const</span> targetKeys <span class="token operator">=</span> ref<span class="token operator">&lt;</span>string<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token operator">&gt;</span><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>
    <span class="token function">onMounted</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
      <span class="token function">getMock</span><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><span class="token punctuation">;</span>
    <span class="token keyword">const</span> <span class="token function-variable function">getMock</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
      <span class="token keyword">const</span> keys <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
      <span class="token keyword">const</span> mData <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
      <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">20</span><span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
        <span class="token keyword">const</span> data <span class="token operator">=</span> <span class="token punctuation">{</span>
          key<span class="token operator">:</span> i<span class="token punctuation">.</span><span class="token function">toString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
          title<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 operator">+</span> <span class="token number">1</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">`</span></span><span class="token punctuation">,</span>
          description<span class="token operator">:</span> <span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">description of content</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>i <span class="token operator">+</span> <span class="token number">1</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">`</span></span><span class="token punctuation">,</span>
          chosen<span class="token operator">:</span> Math<span class="token punctuation">.</span><span class="token function">random</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">*</span> <span class="token number">2</span> <span class="token operator">&gt;</span> <span class="token number">1</span><span class="token punctuation">,</span>
        <span class="token punctuation">}</span><span class="token punctuation">;</span>
        <span class="token keyword">if</span> <span class="token punctuation">(</span>data<span class="token punctuation">.</span>chosen<span class="token punctuation">)</span> <span class="token punctuation">{</span>
          keys<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span>data<span class="token punctuation">.</span>key<span class="token punctuation">)</span><span class="token punctuation">;</span>
        <span class="token punctuation">}</span>
        mData<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span>data<span class="token punctuation">)</span><span class="token punctuation">;</span>
      <span class="token punctuation">}</span>
      mockData<span class="token punctuation">.</span>value <span class="token operator">=</span> mData<span class="token punctuation">;</span>
      targetKeys<span class="token punctuation">.</span>value <span class="token operator">=</span> keys<span class="token punctuation">;</span>
    <span class="token punctuation">}</span><span class="token punctuation">;</span>
    <span class="token keyword">const</span> <span class="token function-variable function">handleChange</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token parameter">keys<span class="token operator">:</span> string<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">,</span> direction<span class="token operator">:</span> string<span class="token punctuation">,</span> moveKeys<span class="token operator">:</span> string<span class="token punctuation">[</span><span class="token punctuation">]</span></span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
      targetKeys<span class="token punctuation">.</span>value <span class="token operator">=</span> keys<span class="token punctuation">;</span>
      console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>keys<span class="token punctuation">,</span> direction<span class="token punctuation">,</span> moveKeys<span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span><span class="token punctuation">;</span>
    <span class="token keyword">return</span> <span class="token punctuation">{</span>
      mockData<span class="token punctuation">,</span>
      targetKeys<span class="token punctuation">,</span>
      handleChange<span class="token punctuation">,</span>
      getMock<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>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>script</span><span class="token punctuation">&gt;</span></span>
</code></pre>
                    </div>
                </section>
            </section>
            <section class="code-box" id="components-transfer-demo-table-transfer">
                <section class="code-box-demo">
                    <div>
                        <div class="ant-transfer ant-transfer-customize-list">
                            <div class="ant-transfer-list">
                                <div class="ant-transfer-list-header">
                                    <!----><span class="ant-transfer-list-header-selected"><span>14 项</span><span class="ant-transfer-list-header-title"></span></span>
                                </div>
                                <div class="ant-transfer-list-body">
                                    <!---->
                                    <div class="ant-transfer-list-body-customize-wrapper">
                                        <div class="ant-table-wrapper">
                                            <div class="ant-spin-nested-loading">
                                                <!---->
                                                <div class="ant-spin-container">
                                                    <div class="ant-table ant-table-small ant-table-scroll-position-left">
                                                        <!---->
                                                        <div class="ant-table-content">
                                                            <!---->
                                                            <div class="ant-table-body">
                                                                <table class="">
                                                                    <colgroup>
                                                                        <col data-key="selection-column" class="ant-table-selection-col">
                                                                        <col data-key="title">
                                                                        <col data-key="description">
                                                                    </colgroup>
                                                                    <thead class="ant-table-thead">
                                                                        <tr>
                                                                            <th colstart="0" colspan="1" colend="0" rowspan="1" class="ant-table-selection-column"><span class="ant-table-header-column"><div><span class="ant-table-column-title"><div class="ant-table-selection"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span>
                                                                                <!---->
                                                                                </label>
                                                                                <!---->
                                                            </div>
                                                            </span><span class="ant-table-column-sorter"><!----></span></div>
                                                        </span>
                                                        <!---->
                                                        </th>
                                                        <th colstart="1" colspan="1" colend="1" rowspan="1" class=""><span class="ant-table-header-column"><div><span class="ant-table-column-title">Name</span><span class="ant-table-column-sorter"><!----></span></div>
                                                    </span>
                                                    <!---->
                                                    </th>
                                                    <th colstart="2" colspan="1" colend="2" rowspan="1" class=""><span class="ant-table-header-column"><div><span class="ant-table-column-title">Description</span><span class="ant-table-column-sorter"><!----></span></div>
                                                </span>
                                                <!---->
                                                </th>
                                                </tr>
                                                </thead>
                                                <tbody class="ant-table-tbody">
                                                    <tr class="ant-table-row ant-table-row-level-0" data-row-key="0">
                                                        <td class="ant-table-selection-column">
                                                            <!---->
                                                            <!----><span><label class="ant-checkbox-wrapper ant-checkbox-wrapper-disabled"><span class="ant-checkbox ant-checkbox-disabled"><input type="checkbox" disabled="" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span>
                                                            <!---->
                                                            </label>
                                                            </span>
                                                        </td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->content1</td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->description of content1</td>
                                                    </tr>
                                                    <tr class="ant-table-row ant-table-row-level-0" data-row-key="1">
                                                        <td class="ant-table-selection-column">
                                                            <!---->
                                                            <!----><span><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span>
                                                            <!---->
                                                            </label>
                                                            </span>
                                                        </td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->content2</td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->description of content2</td>
                                                    </tr>
                                                    <tr class="ant-table-row ant-table-row-level-0" data-row-key="3">
                                                        <td class="ant-table-selection-column">
                                                            <!---->
                                                            <!----><span><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span>
                                                            <!---->
                                                            </label>
                                                            </span>
                                                        </td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->content4</td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->description of content4</td>
                                                    </tr>
                                                    <tr class="ant-table-row ant-table-row-level-0" data-row-key="4">
                                                        <td class="ant-table-selection-column">
                                                            <!---->
                                                            <!----><span><label class="ant-checkbox-wrapper ant-checkbox-wrapper-disabled"><span class="ant-checkbox ant-checkbox-disabled"><input type="checkbox" disabled="" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span>
                                                            <!---->
                                                            </label>
                                                            </span>
                                                        </td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->content5</td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->description of content5</td>
                                                    </tr>
                                                    <tr class="ant-table-row ant-table-row-level-0" data-row-key="6">
                                                        <td class="ant-table-selection-column">
                                                            <!---->
                                                            <!----><span><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span>
                                                            <!---->
                                                            </label>
                                                            </span>
                                                        </td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->content7</td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->description of content7</td>
                                                    </tr>
                                                    <tr class="ant-table-row ant-table-row-level-0" data-row-key="7">
                                                        <td class="ant-table-selection-column">
                                                            <!---->
                                                            <!----><span><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span>
                                                            <!---->
                                                            </label>
                                                            </span>
                                                        </td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->content8</td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->description of content8</td>
                                                    </tr>
                                                    <tr class="ant-table-row ant-table-row-level-0" data-row-key="9">
                                                        <td class="ant-table-selection-column">
                                                            <!---->
                                                            <!----><span><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span>
                                                            <!---->
                                                            </label>
                                                            </span>
                                                        </td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->content10</td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->description of content10</td>
                                                    </tr>
                                                    <tr class="ant-table-row ant-table-row-level-0" data-row-key="10">
                                                        <td class="ant-table-selection-column">
                                                            <!---->
                                                            <!----><span><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span>
                                                            <!---->
                                                            </label>
                                                            </span>
                                                        </td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->content11</td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->description of content11</td>
                                                    </tr>
                                                    <tr class="ant-table-row ant-table-row-level-0" data-row-key="12">
                                                        <td class="ant-table-selection-column">
                                                            <!---->
                                                            <!----><span><label class="ant-checkbox-wrapper ant-checkbox-wrapper-disabled"><span class="ant-checkbox ant-checkbox-disabled"><input type="checkbox" disabled="" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span>
                                                            <!---->
                                                            </label>
                                                            </span>
                                                        </td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->content13</td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->description of content13</td>
                                                    </tr>
                                                    <tr class="ant-table-row ant-table-row-level-0" data-row-key="13">
                                                        <td class="ant-table-selection-column">
                                                            <!---->
                                                            <!----><span><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span>
                                                            <!---->
                                                            </label>
                                                            </span>
                                                        </td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->content14</td>
                                                        <td class="">
                                                            <!---->
                                                            <!---->description of content14</td>
                                                    </tr>
                                                </tbody>
                                                </table>
                                            </div>
                                            <!---->
                                            <!---->
                                        </div>
                                    </div>
                                    <ul unselectable="unselectable" class="ant-pagination mini ant-table-pagination">
                                        <!---->
                                        <li title="上一页" class="ant-pagination-disabled ant-pagination-prev" aria-disabled="true"><a class="ant-pagination-item-link"><span role="img" aria-label="left" class="anticon anticon-left"><svg focusable="false" class="" data-icon="left" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"></path></svg></span></a></li>
                                        <li title="1" tabindex="0" class="ant-pagination-item ant-pagination-item-1 ant-pagination-item-active"><a>1</a></li>
                                        <li title="2" tabindex="0" class="ant-pagination-item ant-pagination-item-2"><a>2</a></li>
                                        <li title="下一页" tabindex="0" class=" ant-pagination-next" aria-disabled="false"><a class="ant-pagination-item-link"><span role="img" aria-label="right" class="anticon anticon-right"><svg focusable="false" class="" data-icon="right" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"></path></svg></span></a></li>
                                        <!---->
                                    </ul>
                                </div>
                            </div>
                        </div>
                    </div>
        </div>
        <!---->
    </div>
    <div class="ant-transfer-operation"><button disabled="" class="ant-btn ant-btn-primary ant-btn-sm ant-btn-icon-only" type="button"><span role="img" aria-label="right" class="anticon anticon-right"><svg focusable="false" class="" data-icon="right" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"></path></svg></span></button>
        <button disabled="" class="ant-btn ant-btn-primary ant-btn-sm ant-btn-icon-only" type="button"><span role="img" aria-label="left" class="anticon anticon-left"><svg focusable="false" class="" data-icon="left" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"></path></svg></span></button>
    </div>
    <div class="ant-transfer-list">
        <div class="ant-transfer-list-header">
            <!----><span class="ant-transfer-list-header-selected"><span>6 项</span><span class="ant-transfer-list-header-title"></span></span>
        </div>
        <div class="ant-transfer-list-body">
            <!---->
            <div class="ant-transfer-list-body-customize-wrapper">
                <div class="ant-table-wrapper">
                    <div class="ant-spin-nested-loading">
                        <!---->
                        <div class="ant-spin-container">
                            <div class="ant-table ant-table-small ant-table-scroll-position-left">
                                <!---->
                                <div class="ant-table-content">
                                    <!---->
                                    <div class="ant-table-body">
                                        <table class="">
                                            <colgroup>
                                                <col data-key="selection-column" class="ant-table-selection-col">
                                                <col data-key="title">
                                            </colgroup>
                                            <thead class="ant-table-thead">
                                                <tr>
                                                    <th colstart="0" colspan="1" colend="0" rowspan="1" class="ant-table-selection-column"><span class="ant-table-header-column"><div><span class="ant-table-column-title"><div class="ant-table-selection"><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span>
                                                        <!---->
                                                        </label>
                                                        <!---->
                                    </div>
                                    </span><span class="ant-table-column-sorter"><!----></span></div>
                                </span>
                                <!---->
                                </th>
                                <th colstart="1" colspan="1" colend="1" rowspan="1" class=""><span class="ant-table-header-column"><div><span class="ant-table-column-title">Name</span><span class="ant-table-column-sorter"><!----></span></div>
                            </span>
                            <!---->
                            </th>
                            </tr>
                            </thead>
                            <tbody class="ant-table-tbody">
                                <tr class="ant-table-row ant-table-row-level-0" data-row-key="2">
                                    <td class="ant-table-selection-column">
                                        <!---->
                                        <!----><span><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span>
                                        <!---->
                                        </label>
                                        </span>
                                    </td>
                                    <td class="">
                                        <!---->
                                        <!---->content3</td>
                                </tr>
                                <tr class="ant-table-row ant-table-row-level-0" data-row-key="5">
                                    <td class="ant-table-selection-column">
                                        <!---->
                                        <!----><span><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span>
                                        <!---->
                                        </label>
                                        </span>
                                    </td>
                                    <td class="">
                                        <!---->
                                        <!---->content6</td>
                                </tr>
                                <tr class="ant-table-row ant-table-row-level-0" data-row-key="8">
                                    <td class="ant-table-selection-column">
                                        <!---->
                                        <!----><span><label class="ant-checkbox-wrapper ant-checkbox-wrapper-disabled"><span class="ant-checkbox ant-checkbox-disabled"><input type="checkbox" disabled="" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span>
                                        <!---->
                                        </label>
                                        </span>
                                    </td>
                                    <td class="">
                                        <!---->
                                        <!---->content9</td>
                                </tr>
                                <tr class="ant-table-row ant-table-row-level-0" data-row-key="11">
                                    <td class="ant-table-selection-column">
                                        <!---->
                                        <!----><span><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span>
                                        <!---->
                                        </label>
                                        </span>
                                    </td>
                                    <td class="">
                                        <!---->
                                        <!---->content12</td>
                                </tr>
                                <tr class="ant-table-row ant-table-row-level-0" data-row-key="14">
                                    <td class="ant-table-selection-column">
                                        <!---->
                                        <!----><span><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span>
                                        <!---->
                                        </label>
                                        </span>
                                    </td>
                                    <td class="">
                                        <!---->
                                        <!---->content15</td>
                                </tr>
                                <tr class="ant-table-row ant-table-row-level-0" data-row-key="17">
                                    <td class="ant-table-selection-column">
                                        <!---->
                                        <!----><span><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input"><span class="ant-checkbox-inner"></span></span>
                                        <!---->
                                        </label>
                                        </span>
                                    </td>
                                    <td class="">
                                        <!---->
                                        <!---->content18</td>
                                </tr>
                            </tbody>
                            </table>
                        </div>
                        <!---->
                        <!---->
                    </div>
                </div>
                <ul unselectable="unselectable" class="ant-pagination mini ant-table-pagination">
                    <!---->
                    <li title="上一页" class="ant-pagination-disabled ant-pagination-prev" aria-disabled="true"><a class="ant-pagination-item-link"><span role="img" aria-label="left" class="anticon anticon-left"><svg focusable="false" class="" data-icon="left" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"></path></svg></span></a></li>
                    <li title="1" tabindex="0" class="ant-pagination-item ant-pagination-item-1 ant-pagination-item-active"><a>1</a></li>
                    <li title="下一页" class="ant-pagination-disabled ant-pagination-next" aria-disabled="true"><a class="ant-pagination-item-link"><span role="img" aria-label="right" class="anticon anticon-right"><svg focusable="false" class="" data-icon="right" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"></path></svg></span></a></li>
                    <!---->
                </ul>
            </div>
        </div>
    </div>
    </div>
    </div>
    <!---->
    </div>
    </div><button type="button" role="switch" aria-checked="false" class="ant-switch" style="margin-top: 16px;"><!----><span class="ant-switch-inner">disabled</span></button><button type="button" role="switch" aria-checked="false" class="ant-switch" style="margin-top: 16px;"><!----><span class="ant-switch-inner">showSearch</span></button></div>
    </section>
    <section class="code-box-meta markdown">
        <div class="code-box-title"><a href="#components-transfer-demo-table-transfer">表格穿梭框</a></div>
        <div class="code-box-description">
            <p>使用 Table 组件作为自定义渲染列表。</p>
        </div>
    </section>
    <section class="highlight-wrapper">
        <div class="highlight">
            <pre class="language-vue"><code><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>template</span><span class="token punctuation">&gt;</span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span><span class="token punctuation">&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>a-transfer</span>
      <span class="token attr-name">:data-source</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>mockData<span class="token punctuation">"</span></span>
      <span class="token attr-name">:target-keys</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>targetKeys<span class="token punctuation">"</span></span>
      <span class="token attr-name">:disabled</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>disabled<span class="token punctuation">"</span></span>
      <span class="token attr-name">:show-search</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>showSearch<span class="token punctuation">"</span></span>
      <span class="token attr-name">:filter-option</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>(inputValue, item) =&gt; item.title.indexOf(inputValue) !== -1<span class="token punctuation">"</span></span>
      <span class="token attr-name">:show-select-all</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>false<span class="token punctuation">"</span></span>
      <span class="token attr-name">@change</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>onChange<span class="token punctuation">"</span></span>
    <span class="token punctuation">&gt;</span></span>
      <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>template</span>
        <span class="token attr-name">#children</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>{
          direction,
          filteredItems,
          selectedKeys,
          disabled: listDisabled,
          onItemSelectAll,
          onItemSelect,
        }<span class="token punctuation">"</span></span>
      <span class="token punctuation">&gt;</span></span>
        <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>a-table</span>
          <span class="token attr-name">:row-selection</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>
            getRowSelection({
              disabled: listDisabled,
              selectedKeys,
              onItemSelectAll,
              onItemSelect,
            })
          <span class="token punctuation">"</span></span>
          <span class="token attr-name">:columns</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>direction === <span class="token punctuation">'</span>left<span class="token punctuation">'</span> ? leftColumns : rightColumns<span class="token punctuation">"</span></span>
          <span class="token attr-name">:data-source</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>filteredItems<span class="token punctuation">"</span></span>
          <span class="token attr-name">size</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>small<span class="token punctuation">"</span></span>
          <span class="token attr-name">:style</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>{ pointerEvents: listDisabled ? <span class="token punctuation">'</span>none<span class="token punctuation">'</span> : null }<span class="token punctuation">"</span></span>
          <span class="token attr-name">:custom-row</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>
            ({ key, disabled: itemDisabled }) =&gt; ({
              onClick: () =&gt; {
                if (itemDisabled || listDisabled) return;
                onItemSelect(key, !selectedKeys.includes(key));
              },
            })
          <span class="token punctuation">"</span></span>
        <span class="token punctuation">/&gt;</span></span>
      <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>template</span><span class="token punctuation">&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>a-transfer</span><span class="token punctuation">&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>a-switch</span>
      <span class="token attr-name">un-checked-children</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>disabled<span class="token punctuation">"</span></span>
      <span class="token attr-name">checked-children</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>disabled<span class="token punctuation">"</span></span>
      <span class="token attr-name"><span class="token namespace">v-model:</span>checked</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>disabled<span class="token punctuation">"</span></span>
      <span class="token special-attr"><span class="token attr-name">style</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><span class="token value css language-css"><span class="token property">margin-top</span><span class="token punctuation">:</span> 16px</span><span class="token punctuation">"</span></span></span>
    <span class="token punctuation">/&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>a-switch</span>
      <span class="token attr-name">un-checked-children</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>showSearch<span class="token punctuation">"</span></span>
      <span class="token attr-name">checked-children</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>showSearch<span class="token punctuation">"</span></span>
      <span class="token attr-name"><span class="token namespace">v-model:</span>checked</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>showSearch<span class="token punctuation">"</span></span>
      <span class="token special-attr"><span class="token attr-name">style</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><span class="token value css language-css"><span class="token property">margin-top</span><span class="token punctuation">:</span> 16px</span><span class="token punctuation">"</span></span></span>
    <span class="token punctuation">/&gt;</span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>template</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>script</span> <span class="token attr-name">lang</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>ts<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span><span class="token script"><span class="token language-javascript">
<span class="token keyword">import</span> <span class="token punctuation">{</span> difference <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'lodash-es'</span><span class="token punctuation">;</span>
<span class="token keyword">import</span> <span class="token punctuation">{</span> defineComponent<span class="token punctuation">,</span> ref <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'vue'</span><span class="token punctuation">;</span>
<span class="token keyword">interface</span> <span class="token class-name">MockData</span> <span class="token punctuation">{</span>
  key<span class="token operator">:</span> string<span class="token punctuation">;</span>
  title<span class="token operator">:</span> string<span class="token punctuation">;</span>
  description<span class="token operator">:</span> string<span class="token punctuation">;</span>
  disabled<span class="token operator">:</span> boolean<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
type tableColumn <span class="token operator">=</span> Record<span class="token operator">&lt;</span>string<span class="token punctuation">,</span> string<span class="token operator">&gt;</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> mockData<span class="token operator">:</span> MockData<span class="token punctuation">[</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
<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">20</span><span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  mockData<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
    key<span class="token operator">:</span> i<span class="token punctuation">.</span><span class="token function">toString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
    title<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 operator">+</span> <span class="token number">1</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">`</span></span><span class="token punctuation">,</span>
    description<span class="token operator">:</span> <span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">description of content</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>i <span class="token operator">+</span> <span class="token number">1</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">`</span></span><span class="token punctuation">,</span>
    disabled<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>
  <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span> 
<span class="token keyword">const</span> originTargetKeys <span class="token operator">=</span> mockData<span class="token punctuation">.</span><span class="token function">filter</span><span class="token punctuation">(</span><span class="token parameter">item</span> <span class="token operator">=&gt;</span> <span class="token operator">+</span>item<span class="token punctuation">.</span>key <span class="token operator">%</span> <span class="token number">3</span> <span class="token operator">&gt;</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span><span class="token parameter">item</span> <span class="token operator">=&gt;</span> item<span class="token punctuation">.</span>key<span class="token punctuation">)</span><span class="token punctuation">;</span> 
<span class="token keyword">const</span> leftTableColumns <span class="token operator">=</span> <span class="token punctuation">[</span>
  <span class="token punctuation">{</span>
    dataIndex<span class="token operator">:</span> <span class="token string">'title'</span><span class="token punctuation">,</span>
    title<span class="token operator">:</span> <span class="token string">'Name'</span><span class="token punctuation">,</span>
  <span class="token punctuation">}</span><span class="token punctuation">,</span>
  <span class="token punctuation">{</span>
    dataIndex<span class="token operator">:</span> <span class="token string">'description'</span><span class="token punctuation">,</span>
    title<span class="token operator">:</span> <span class="token string">'Description'</span><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>
<span class="token keyword">const</span> rightTableColumns <span class="token operator">=</span> <span class="token punctuation">[</span>
  <span class="token punctuation">{</span>
    dataIndex<span class="token operator">:</span> <span class="token string">'title'</span><span class="token punctuation">,</span>
    title<span class="token operator">:</span> <span class="token string">'Name'</span><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> 
<span class="token keyword">export</span> <span class="token keyword">default</span> <span class="token function">defineComponent</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
  <span class="token function">setup</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">const</span> targetKeys <span class="token operator">=</span> ref<span class="token operator">&lt;</span>string<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token operator">&gt;</span><span class="token punctuation">(</span>originTargetKeys<span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token keyword">const</span> disabled <span class="token operator">=</span> ref<span class="token operator">&lt;</span>boolean<span class="token operator">&gt;</span><span class="token punctuation">(</span><span class="token boolean">false</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token keyword">const</span> showSearch <span class="token operator">=</span> ref<span class="token operator">&lt;</span>boolean<span class="token operator">&gt;</span><span class="token punctuation">(</span><span class="token boolean">false</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token keyword">const</span> leftColumns <span class="token operator">=</span> ref<span class="token operator">&lt;</span>tableColumn<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token operator">&gt;</span><span class="token punctuation">(</span>leftTableColumns<span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token keyword">const</span> rightColumns <span class="token operator">=</span> ref<span class="token operator">&lt;</span>tableColumn<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token operator">&gt;</span><span class="token punctuation">(</span>rightTableColumns<span class="token punctuation">)</span><span class="token punctuation">;</span> 
    <span class="token keyword">const</span> <span class="token function-variable function">onChange</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token parameter">nextTargetKeys<span class="token operator">:</span> string<span class="token punctuation">[</span><span class="token punctuation">]</span></span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
      targetKeys<span class="token punctuation">.</span>value <span class="token operator">=</span> nextTargetKeys<span class="token punctuation">;</span>
    <span class="token punctuation">}</span><span class="token punctuation">;</span> 
    <span class="token keyword">const</span> <span class="token function-variable function">getRowSelection</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token parameter"><span class="token punctuation">{</span>
      disabled<span class="token punctuation">,</span>
      selectedKeys<span class="token punctuation">,</span>
      onItemSelectAll<span class="token punctuation">,</span>
      onItemSelect<span class="token punctuation">,</span>
    <span class="token punctuation">}</span><span class="token operator">:</span> Record<span class="token operator">&lt;</span>string<span class="token punctuation">,</span> any<span class="token operator">&gt;</span></span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
      <span class="token keyword">return</span> <span class="token punctuation">{</span>
        <span class="token function-variable function">getCheckboxProps</span><span class="token operator">:</span> <span class="token punctuation">(</span><span class="token parameter">item<span class="token operator">:</span> Record<span class="token operator">&lt;</span>string<span class="token punctuation">,</span> string <span class="token operator">|</span> boolean<span class="token operator">&gt;</span></span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">(</span><span class="token punctuation">{</span>
          disabled<span class="token operator">:</span> disabled <span class="token operator">||</span> item<span class="token punctuation">.</span>disabled<span class="token punctuation">,</span>
        <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
        <span class="token function">onSelectAll</span><span class="token punctuation">(</span><span class="token parameter">selected<span class="token operator">:</span> boolean<span class="token punctuation">,</span> selectedRows<span class="token operator">:</span> Record<span class="token operator">&lt;</span>string<span class="token punctuation">,</span> string <span class="token operator">|</span> boolean<span class="token operator">&gt;</span><span class="token punctuation">[</span><span class="token punctuation">]</span></span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
          <span class="token keyword">const</span> treeSelectedKeys <span class="token operator">=</span> selectedRows
            <span class="token punctuation">.</span><span class="token function">filter</span><span class="token punctuation">(</span><span class="token parameter">item</span> <span class="token operator">=&gt;</span> <span class="token operator">!</span>item<span class="token punctuation">.</span>disabled<span class="token punctuation">)</span>
            <span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token parameter"><span class="token punctuation">{</span> key <span class="token punctuation">}</span></span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> key<span class="token punctuation">)</span><span class="token punctuation">;</span>
          <span class="token keyword">const</span> diffKeys <span class="token operator">=</span> selected
            <span class="token operator">?</span> <span class="token function">difference</span><span class="token punctuation">(</span>treeSelectedKeys<span class="token punctuation">,</span> selectedKeys<span class="token punctuation">)</span>
            <span class="token operator">:</span> <span class="token function">difference</span><span class="token punctuation">(</span>selectedKeys<span class="token punctuation">,</span> treeSelectedKeys<span class="token punctuation">)</span><span class="token punctuation">;</span>
          <span class="token function">onItemSelectAll</span><span class="token punctuation">(</span>diffKeys<span class="token punctuation">,</span> selected<span class="token punctuation">)</span><span class="token punctuation">;</span>
        <span class="token punctuation">}</span><span class="token punctuation">,</span>
        <span class="token function">onSelect</span><span class="token punctuation">(</span><span class="token parameter"><span class="token punctuation">{</span> key <span class="token punctuation">}</span><span class="token operator">:</span> Record<span class="token operator">&lt;</span>string<span class="token punctuation">,</span> string<span class="token operator">&gt;</span><span class="token punctuation">,</span> selected<span class="token operator">:</span> boolean</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
          <span class="token function">onItemSelect</span><span class="token punctuation">(</span>key<span class="token punctuation">,</span> selected<span class="token punctuation">)</span><span class="token punctuation">;</span>
        <span class="token punctuation">}</span><span class="token punctuation">,</span>
        selectedRowKeys<span class="token operator">:</span> selectedKeys<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>
    <span class="token keyword">return</span> <span class="token punctuation">{</span>
      mockData<span class="token punctuation">,</span>
      targetKeys<span class="token punctuation">,</span>
      disabled<span class="token punctuation">,</span>
      showSearch<span class="token punctuation">,</span>
      leftColumns<span class="token punctuation">,</span>
      rightColumns<span class="token punctuation">,</span>
      onChange<span class="token punctuation">,</span>
      getRowSelection<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>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>script</span><span class="token punctuation">&gt;</span></span>
</code></pre>
        </div>
    </section>
    </section>
    <section class="code-box" id="components-transfer-demo-tree-transfer" data-v-60a2bc8d="">
        <section class="code-box-demo">
            <div data-v-60a2bc8d="">
                <div class="ant-transfer tree-transfer ant-transfer-customize-list" data-v-60a2bc8d="">
                    <div class="ant-transfer-list">
                        <div class="ant-transfer-list-header">
                            <!----><span class="ant-transfer-list-header-selected"><span>5 项</span><span class="ant-transfer-list-header-title"></span></span>
                        </div>
                        <div class="ant-transfer-list-body">
                            <!---->
                            <div class="ant-transfer-list-body-customize-wrapper">
                                <ul class="ant-tree ant-tree-icon-hide ant-tree-block-node" role="tree" unselectable="on" data-v-60a2bc8d="">
                                    <li class="ant-tree-treenode-switcher-open" role="treeitem"><span class="ant-tree-switcher ant-tree-switcher-noop"><!----></span><span class="ant-tree-checkbox"><span class="ant-tree-checkbox-inner"></span></span><span title="0-0" class="ant-tree-node-content-wrapper ant-tree-node-content-wrapper-normal"><!----><span class="ant-tree-title">0-0</span></span>
                                        <!---->
                                    </li>
                                    <li class="ant-tree-treenode-switcher-open" role="treeitem"><span class="ant-tree-switcher ant-tree-switcher_open"><span role="img" aria-label="caret-down" class="anticon anticon-caret-down ant-tree-switcher-icon"><svg focusable="false" class="" data-icon="caret-down" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="0 0 1024 1024"><path d="M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"></path></svg></span></span>
                                        <span class="ant-tree-checkbox"><span class="ant-tree-checkbox-inner"></span></span><span title="0-1" class="ant-tree-node-content-wrapper ant-tree-node-content-wrapper-open"><!----><span class="ant-tree-title">0-1</span></span>
                                        <ul class="ant-tree-child-tree ant-tree-child-tree-open" data-expanded="true" role="group">
                                            <li class="ant-tree-treenode-switcher-open" role="treeitem"><span class="ant-tree-switcher ant-tree-switcher-noop"><!----></span><span class="ant-tree-checkbox"><span class="ant-tree-checkbox-inner"></span></span><span title="0-1-0" class="ant-tree-node-content-wrapper ant-tree-node-content-wrapper-normal"><!----><span class="ant-tree-title">0-1-0</span></span>
                                                <!---->
                                            </li>
                                            <li class="ant-tree-treenode-switcher-open" role="treeitem"><span class="ant-tree-switcher ant-tree-switcher-noop"><!----></span><span class="ant-tree-checkbox"><span class="ant-tree-checkbox-inner"></span></span><span title="0-1-1" class="ant-tree-node-content-wrapper ant-tree-node-content-wrapper-normal"><!----><span class="ant-tree-title">0-1-1</span></span>
                                                <!---->
                                            </li>
                                        </ul>
                                    </li>
                                    <li class="ant-tree-treenode-switcher-open" role="treeitem"><span class="ant-tree-switcher ant-tree-switcher-noop"><!----></span><span class="ant-tree-checkbox"><span class="ant-tree-checkbox-inner"></span></span><span title="0-3" class="ant-tree-node-content-wrapper ant-tree-node-content-wrapper-normal"><!----><span class="ant-tree-title">0-3</span></span>
                                        <!---->
                                    </li>
                                </ul>
                            </div>
                        </div>
                        <!---->
                    </div>
                    <div class="ant-transfer-operation"><button disabled="" class="ant-btn ant-btn-primary ant-btn-sm ant-btn-icon-only" type="button"><span role="img" aria-label="right" class="anticon anticon-right"><svg focusable="false" class="" data-icon="right" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"></path></svg></span></button>
                        <button disabled="" class="ant-btn ant-btn-primary ant-btn-sm ant-btn-icon-only" type="button"><span role="img" aria-label="left" class="anticon anticon-left"><svg focusable="false" class="" data-icon="left" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"></path></svg></span></button>
                    </div>
                    <div class="ant-transfer-list">
                        <div class="ant-transfer-list-header">
                            <!----><span class="ant-transfer-list-header-selected"><span>0 项</span><span class="ant-transfer-list-header-title"></span></span>
                        </div>
                        <div class="ant-transfer-list-body">
                            <!---->
                            <div class="ant-transfer-list-body-not-found">
                                <div class="ant-empty ant-empty-small ant-empty-normal">
                                    <div class="ant-empty-image"><svg class="ant-empty-img-simple" width="64" height="41" viewBox="0 0 64 41"><g transform="translate(0 1)" fill="none" fill-rule="evenodd"><ellipse class="ant-empty-img-simple-ellipse" fill="#F5F5F5" cx="32" cy="33" rx="32" ry="7"></ellipse><g class="ant-empty-img-simple-g" fill-rule="nonzero" stroke="#D9D9D9"><path d="M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"></path><path d="M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z" fill="#FAFAFA" class="ant-empty-img-simple-path"></path></g></g></svg></div>
                                    <p class="ant-empty-description">暂无数据</p>
                                    <!---->
                                </div>
                            </div>
                        </div>
                        <!---->
                    </div>
                </div>
            </div>
        </section>
        <section class="code-box-meta markdown">
            <div class="code-box-title"><a href="#components-transfer-demo-tree-transfer">树穿梭框</a></div>
            <div class="code-box-description">
                <p>使用 Tree 组件作为自定义渲染列表。</p>
            </div>
        </section>
        <section class="highlight-wrapper">
            <div class="highlight">
                <pre class="language-vue" data-v-60a2bc8d=""><code data-v-60a2bc8d=""><span class="token tag" data-v-60a2bc8d=""><span class="token tag" data-v-60a2bc8d=""><span class="token punctuation" data-v-60a2bc8d="">&lt;</span>template</span><span class="token punctuation" data-v-60a2bc8d="">&gt;</span></span>
  <span class="token tag" data-v-60a2bc8d=""><span class="token tag" data-v-60a2bc8d=""><span class="token punctuation" data-v-60a2bc8d="">&lt;</span>div</span><span class="token punctuation" data-v-60a2bc8d="">&gt;</span></span>
    <span class="token tag" data-v-60a2bc8d=""><span class="token tag" data-v-60a2bc8d=""><span class="token punctuation" data-v-60a2bc8d="">&lt;</span>a-transfer</span>
      <span class="token attr-name" data-v-60a2bc8d="">class</span><span class="token attr-value" data-v-60a2bc8d=""><span class="token punctuation attr-equals" data-v-60a2bc8d="">=</span><span class="token punctuation" data-v-60a2bc8d="">"</span>tree-transfer<span class="token punctuation" data-v-60a2bc8d="">"</span></span>
      <span class="token attr-name" data-v-60a2bc8d="">:data-source</span><span class="token attr-value" data-v-60a2bc8d=""><span class="token punctuation attr-equals" data-v-60a2bc8d="">=</span><span class="token punctuation" data-v-60a2bc8d="">"</span>dataSource<span class="token punctuation" data-v-60a2bc8d="">"</span></span>
      <span class="token attr-name" data-v-60a2bc8d="">:target-keys</span><span class="token attr-value" data-v-60a2bc8d=""><span class="token punctuation attr-equals" data-v-60a2bc8d="">=</span><span class="token punctuation" data-v-60a2bc8d="">"</span>targetKeys<span class="token punctuation" data-v-60a2bc8d="">"</span></span>
      <span class="token attr-name" data-v-60a2bc8d="">:render</span><span class="token attr-value" data-v-60a2bc8d=""><span class="token punctuation attr-equals" data-v-60a2bc8d="">=</span><span class="token punctuation" data-v-60a2bc8d="">"</span>item =&gt; item.title<span class="token punctuation" data-v-60a2bc8d="">"</span></span>
      <span class="token attr-name" data-v-60a2bc8d="">:show-select-all</span><span class="token attr-value" data-v-60a2bc8d=""><span class="token punctuation attr-equals" data-v-60a2bc8d="">=</span><span class="token punctuation" data-v-60a2bc8d="">"</span>false<span class="token punctuation" data-v-60a2bc8d="">"</span></span>
      <span class="token attr-name" data-v-60a2bc8d="">@change</span><span class="token attr-value" data-v-60a2bc8d=""><span class="token punctuation attr-equals" data-v-60a2bc8d="">=</span><span class="token punctuation" data-v-60a2bc8d="">"</span>onChange<span class="token punctuation" data-v-60a2bc8d="">"</span></span>
    <span class="token punctuation" data-v-60a2bc8d="">&gt;</span></span>
      <span class="token tag" data-v-60a2bc8d=""><span class="token tag" data-v-60a2bc8d=""><span class="token punctuation" data-v-60a2bc8d="">&lt;</span>template</span> <span class="token attr-name" data-v-60a2bc8d="">#children</span><span class="token attr-value" data-v-60a2bc8d=""><span class="token punctuation attr-equals" data-v-60a2bc8d="">=</span><span class="token punctuation" data-v-60a2bc8d="">"</span>{ direction, selectedKeys, onItemSelect }<span class="token punctuation" data-v-60a2bc8d="">"</span></span><span class="token punctuation" data-v-60a2bc8d="">&gt;</span></span>
        <span class="token tag" data-v-60a2bc8d=""><span class="token tag" data-v-60a2bc8d=""><span class="token punctuation" data-v-60a2bc8d="">&lt;</span>a-tree</span>
          <span class="token attr-name" data-v-60a2bc8d="">v-if</span><span class="token attr-value" data-v-60a2bc8d=""><span class="token punctuation attr-equals" data-v-60a2bc8d="">=</span><span class="token punctuation" data-v-60a2bc8d="">"</span>direction === <span class="token punctuation" data-v-60a2bc8d="">'</span>left<span class="token punctuation" data-v-60a2bc8d="">'</span><span class="token punctuation" data-v-60a2bc8d="">"</span></span>
          <span class="token attr-name" data-v-60a2bc8d="">blockNode</span>
          <span class="token attr-name" data-v-60a2bc8d="">checkable</span>
          <span class="token attr-name" data-v-60a2bc8d="">checkStrictly</span>
          <span class="token attr-name" data-v-60a2bc8d="">defaultExpandAll</span>
          <span class="token attr-name" data-v-60a2bc8d="">:checkedKeys</span><span class="token attr-value" data-v-60a2bc8d=""><span class="token punctuation attr-equals" data-v-60a2bc8d="">=</span><span class="token punctuation" data-v-60a2bc8d="">"</span>[...selectedKeys, ...targetKeys]<span class="token punctuation" data-v-60a2bc8d="">"</span></span>
          <span class="token attr-name" data-v-60a2bc8d="">:treeData</span><span class="token attr-value" data-v-60a2bc8d=""><span class="token punctuation attr-equals" data-v-60a2bc8d="">=</span><span class="token punctuation" data-v-60a2bc8d="">"</span>treeData<span class="token punctuation" data-v-60a2bc8d="">"</span></span>
          <span class="token attr-name" data-v-60a2bc8d="">@check</span><span class="token attr-value" data-v-60a2bc8d=""><span class="token punctuation attr-equals" data-v-60a2bc8d="">=</span><span class="token punctuation" data-v-60a2bc8d="">"</span>
            (_, props) =&gt; {
              onChecked(_, props, [...selectedKeys, ...targetKeys], onItemSelect);
            }
          <span class="token punctuation" data-v-60a2bc8d="">"</span></span>
          <span class="token attr-name" data-v-60a2bc8d="">@select</span><span class="token attr-value" data-v-60a2bc8d=""><span class="token punctuation attr-equals" data-v-60a2bc8d="">=</span><span class="token punctuation" data-v-60a2bc8d="">"</span>
            (_, props) =&gt; {
              onChecked(_, props, [...selectedKeys, ...targetKeys], onItemSelect);
            }
          <span class="token punctuation" data-v-60a2bc8d="">"</span></span>
        <span class="token punctuation" data-v-60a2bc8d="">/&gt;</span></span>
      <span class="token tag" data-v-60a2bc8d=""><span class="token tag" data-v-60a2bc8d=""><span class="token punctuation" data-v-60a2bc8d="">&lt;/</span>template</span><span class="token punctuation" data-v-60a2bc8d="">&gt;</span></span>
    <span class="token tag" data-v-60a2bc8d=""><span class="token tag" data-v-60a2bc8d=""><span class="token punctuation" data-v-60a2bc8d="">&lt;/</span>a-transfer</span><span class="token punctuation" data-v-60a2bc8d="">&gt;</span></span>
  <span class="token tag" data-v-60a2bc8d=""><span class="token tag" data-v-60a2bc8d=""><span class="token punctuation" data-v-60a2bc8d="">&lt;/</span>div</span><span class="token punctuation" data-v-60a2bc8d="">&gt;</span></span>
<span class="token tag" data-v-60a2bc8d=""><span class="token tag" data-v-60a2bc8d=""><span class="token punctuation" data-v-60a2bc8d="">&lt;/</span>template</span><span class="token punctuation" data-v-60a2bc8d="">&gt;</span></span>
<span class="token tag" data-v-60a2bc8d=""><span class="token tag" data-v-60a2bc8d=""><span class="token punctuation" data-v-60a2bc8d="">&lt;</span>script</span> <span class="token attr-name" data-v-60a2bc8d="">lang</span><span class="token attr-value" data-v-60a2bc8d=""><span class="token punctuation attr-equals" data-v-60a2bc8d="">=</span><span class="token punctuation" data-v-60a2bc8d="">"</span>ts<span class="token punctuation" data-v-60a2bc8d="">"</span></span><span class="token punctuation" data-v-60a2bc8d="">&gt;</span></span><span class="token script" data-v-60a2bc8d=""><span class="token language-javascript" data-v-60a2bc8d="">
<span class="token keyword" data-v-60a2bc8d="">import</span> <span class="token punctuation" data-v-60a2bc8d="">{</span> CheckEvent <span class="token punctuation" data-v-60a2bc8d="">}</span> <span class="token keyword" data-v-60a2bc8d="">from</span> <span class="token string" data-v-60a2bc8d="">'ant-design-vue/es/tree/Tree'</span><span class="token punctuation" data-v-60a2bc8d="">;</span>
<span class="token keyword" data-v-60a2bc8d="">import</span> <span class="token punctuation" data-v-60a2bc8d="">{</span> computed<span class="token punctuation" data-v-60a2bc8d="">,</span> defineComponent<span class="token punctuation" data-v-60a2bc8d="">,</span> ref <span class="token punctuation" data-v-60a2bc8d="">}</span> <span class="token keyword" data-v-60a2bc8d="">from</span> <span class="token string" data-v-60a2bc8d="">'vue'</span><span class="token punctuation" data-v-60a2bc8d="">;</span>
<span class="token keyword" data-v-60a2bc8d="">interface</span> <span class="token class-name" data-v-60a2bc8d="">TreeDataItem</span> <span class="token punctuation" data-v-60a2bc8d="">{</span>
  key<span class="token operator" data-v-60a2bc8d="">:</span> string<span class="token punctuation" data-v-60a2bc8d="">;</span>
  title<span class="token operator" data-v-60a2bc8d="">:</span> string<span class="token punctuation" data-v-60a2bc8d="">;</span>
  disabled<span class="token operator" data-v-60a2bc8d="">?</span><span class="token operator" data-v-60a2bc8d="">:</span> boolean<span class="token punctuation" data-v-60a2bc8d="">;</span>
  children<span class="token operator" data-v-60a2bc8d="">?</span><span class="token operator" data-v-60a2bc8d="">:</span> TreeDataItem<span class="token punctuation" data-v-60a2bc8d="">[</span><span class="token punctuation" data-v-60a2bc8d="">]</span><span class="token punctuation" data-v-60a2bc8d="">;</span>
<span class="token punctuation" data-v-60a2bc8d="">}</span>
<span class="token keyword" data-v-60a2bc8d="">const</span> tData<span class="token operator" data-v-60a2bc8d="">:</span> TreeDataItem<span class="token punctuation" data-v-60a2bc8d="">[</span><span class="token punctuation" data-v-60a2bc8d="">]</span> <span class="token operator" data-v-60a2bc8d="">=</span> <span class="token punctuation" data-v-60a2bc8d="">[</span>
  <span class="token punctuation" data-v-60a2bc8d="">{</span> key<span class="token operator" data-v-60a2bc8d="">:</span> <span class="token string" data-v-60a2bc8d="">'0-0'</span><span class="token punctuation" data-v-60a2bc8d="">,</span> title<span class="token operator" data-v-60a2bc8d="">:</span> <span class="token string" data-v-60a2bc8d="">'0-0'</span> <span class="token punctuation" data-v-60a2bc8d="">}</span><span class="token punctuation" data-v-60a2bc8d="">,</span>
  <span class="token punctuation" data-v-60a2bc8d="">{</span>
    key<span class="token operator" data-v-60a2bc8d="">:</span> <span class="token string" data-v-60a2bc8d="">'0-1'</span><span class="token punctuation" data-v-60a2bc8d="">,</span>
    title<span class="token operator" data-v-60a2bc8d="">:</span> <span class="token string" data-v-60a2bc8d="">'0-1'</span><span class="token punctuation" data-v-60a2bc8d="">,</span>
    children<span class="token operator" data-v-60a2bc8d="">:</span> <span class="token punctuation" data-v-60a2bc8d="">[</span>
      <span class="token punctuation" data-v-60a2bc8d="">{</span> key<span class="token operator" data-v-60a2bc8d="">:</span> <span class="token string" data-v-60a2bc8d="">'0-1-0'</span><span class="token punctuation" data-v-60a2bc8d="">,</span> title<span class="token operator" data-v-60a2bc8d="">:</span> <span class="token string" data-v-60a2bc8d="">'0-1-0'</span> <span class="token punctuation" data-v-60a2bc8d="">}</span><span class="token punctuation" data-v-60a2bc8d="">,</span>
      <span class="token punctuation" data-v-60a2bc8d="">{</span> key<span class="token operator" data-v-60a2bc8d="">:</span> <span class="token string" data-v-60a2bc8d="">'0-1-1'</span><span class="token punctuation" data-v-60a2bc8d="">,</span> title<span class="token operator" data-v-60a2bc8d="">:</span> <span class="token string" data-v-60a2bc8d="">'0-1-1'</span> <span class="token punctuation" data-v-60a2bc8d="">}</span><span class="token punctuation" data-v-60a2bc8d="">,</span>
    <span class="token punctuation" data-v-60a2bc8d="">]</span><span class="token punctuation" data-v-60a2bc8d="">,</span>
  <span class="token punctuation" data-v-60a2bc8d="">}</span><span class="token punctuation" data-v-60a2bc8d="">,</span>
  <span class="token punctuation" data-v-60a2bc8d="">{</span> key<span class="token operator" data-v-60a2bc8d="">:</span> <span class="token string" data-v-60a2bc8d="">'0-2'</span><span class="token punctuation" data-v-60a2bc8d="">,</span> title<span class="token operator" data-v-60a2bc8d="">:</span> <span class="token string" data-v-60a2bc8d="">'0-3'</span> <span class="token punctuation" data-v-60a2bc8d="">}</span><span class="token punctuation" data-v-60a2bc8d="">,</span>
<span class="token punctuation" data-v-60a2bc8d="">]</span><span class="token punctuation" data-v-60a2bc8d="">;</span> 
<span class="token keyword" data-v-60a2bc8d="">const</span> transferDataSource<span class="token operator" data-v-60a2bc8d="">:</span> TreeDataItem<span class="token punctuation" data-v-60a2bc8d="">[</span><span class="token punctuation" data-v-60a2bc8d="">]</span> <span class="token operator" data-v-60a2bc8d="">=</span> <span class="token punctuation" data-v-60a2bc8d="">[</span><span class="token punctuation" data-v-60a2bc8d="">]</span><span class="token punctuation" data-v-60a2bc8d="">;</span>
<span class="token keyword" data-v-60a2bc8d="">function</span> <span class="token function" data-v-60a2bc8d="">flatten</span><span class="token punctuation" data-v-60a2bc8d="">(</span><span class="token parameter" data-v-60a2bc8d="">list<span class="token operator" data-v-60a2bc8d="">:</span> TreeDataItem<span class="token punctuation" data-v-60a2bc8d="">[</span><span class="token punctuation" data-v-60a2bc8d="">]</span> <span class="token operator" data-v-60a2bc8d="">=</span> <span class="token punctuation" data-v-60a2bc8d="">[</span><span class="token punctuation" data-v-60a2bc8d="">]</span></span><span class="token punctuation" data-v-60a2bc8d="">)</span> <span class="token punctuation" data-v-60a2bc8d="">{</span>
  list<span class="token punctuation" data-v-60a2bc8d="">.</span><span class="token function" data-v-60a2bc8d="">forEach</span><span class="token punctuation" data-v-60a2bc8d="">(</span><span class="token parameter" data-v-60a2bc8d="">item</span> <span class="token operator" data-v-60a2bc8d="">=&gt;</span> <span class="token punctuation" data-v-60a2bc8d="">{</span>
    transferDataSource<span class="token punctuation" data-v-60a2bc8d="">.</span><span class="token function" data-v-60a2bc8d="">push</span><span class="token punctuation" data-v-60a2bc8d="">(</span>item<span class="token punctuation" data-v-60a2bc8d="">)</span><span class="token punctuation" data-v-60a2bc8d="">;</span>
    <span class="token function" data-v-60a2bc8d="">flatten</span><span class="token punctuation" data-v-60a2bc8d="">(</span>item<span class="token punctuation" data-v-60a2bc8d="">.</span>children<span class="token punctuation" data-v-60a2bc8d="">)</span><span class="token punctuation" data-v-60a2bc8d="">;</span>
  <span class="token punctuation" data-v-60a2bc8d="">}</span><span class="token punctuation" data-v-60a2bc8d="">)</span><span class="token punctuation" data-v-60a2bc8d="">;</span>
<span class="token punctuation" data-v-60a2bc8d="">}</span>
<span class="token function" data-v-60a2bc8d="">flatten</span><span class="token punctuation" data-v-60a2bc8d="">(</span><span class="token constant" data-v-60a2bc8d="">JSON</span><span class="token punctuation" data-v-60a2bc8d="">.</span><span class="token function" data-v-60a2bc8d="">parse</span><span class="token punctuation" data-v-60a2bc8d="">(</span><span class="token constant" data-v-60a2bc8d="">JSON</span><span class="token punctuation" data-v-60a2bc8d="">.</span><span class="token function" data-v-60a2bc8d="">stringify</span><span class="token punctuation" data-v-60a2bc8d="">(</span>tData<span class="token punctuation" data-v-60a2bc8d="">)</span><span class="token punctuation" data-v-60a2bc8d="">)</span><span class="token punctuation" data-v-60a2bc8d="">)</span><span class="token punctuation" data-v-60a2bc8d="">;</span> 
<span class="token keyword" data-v-60a2bc8d="">function</span> <span class="token function" data-v-60a2bc8d="">isChecked</span><span class="token punctuation" data-v-60a2bc8d="">(</span><span class="token parameter" data-v-60a2bc8d="">selectedKeys<span class="token operator" data-v-60a2bc8d="">:</span> string<span class="token punctuation" data-v-60a2bc8d="">[</span><span class="token punctuation" data-v-60a2bc8d="">]</span><span class="token punctuation" data-v-60a2bc8d="">,</span> eventKey<span class="token operator" data-v-60a2bc8d="">:</span> string</span><span class="token punctuation" data-v-60a2bc8d="">)</span> <span class="token punctuation" data-v-60a2bc8d="">{</span>
  <span class="token keyword" data-v-60a2bc8d="">return</span> selectedKeys<span class="token punctuation" data-v-60a2bc8d="">.</span><span class="token function" data-v-60a2bc8d="">indexOf</span><span class="token punctuation" data-v-60a2bc8d="">(</span>eventKey<span class="token punctuation" data-v-60a2bc8d="">)</span> <span class="token operator" data-v-60a2bc8d="">!==</span> <span class="token operator" data-v-60a2bc8d="">-</span><span class="token number" data-v-60a2bc8d="">1</span><span class="token punctuation" data-v-60a2bc8d="">;</span>
<span class="token punctuation" data-v-60a2bc8d="">}</span> 
<span class="token keyword" data-v-60a2bc8d="">function</span> <span class="token function" data-v-60a2bc8d="">handleTreeData</span><span class="token punctuation" data-v-60a2bc8d="">(</span><span class="token parameter" data-v-60a2bc8d="">data<span class="token operator" data-v-60a2bc8d="">:</span> TreeDataItem<span class="token punctuation" data-v-60a2bc8d="">[</span><span class="token punctuation" data-v-60a2bc8d="">]</span><span class="token punctuation" data-v-60a2bc8d="">,</span> targetKeys<span class="token operator" data-v-60a2bc8d="">:</span> string<span class="token punctuation" data-v-60a2bc8d="">[</span><span class="token punctuation" data-v-60a2bc8d="">]</span> <span class="token operator" data-v-60a2bc8d="">=</span> <span class="token punctuation" data-v-60a2bc8d="">[</span><span class="token punctuation" data-v-60a2bc8d="">]</span></span><span class="token punctuation" data-v-60a2bc8d="">)</span><span class="token operator" data-v-60a2bc8d="">:</span> TreeDataItem<span class="token punctuation" data-v-60a2bc8d="">[</span><span class="token punctuation" data-v-60a2bc8d="">]</span> <span class="token punctuation" data-v-60a2bc8d="">{</span>
  data<span class="token punctuation" data-v-60a2bc8d="">.</span><span class="token function" data-v-60a2bc8d="">forEach</span><span class="token punctuation" data-v-60a2bc8d="">(</span><span class="token parameter" data-v-60a2bc8d="">item</span> <span class="token operator" data-v-60a2bc8d="">=&gt;</span> <span class="token punctuation" data-v-60a2bc8d="">{</span>
    item<span class="token punctuation" data-v-60a2bc8d="">[</span><span class="token string" data-v-60a2bc8d="">'disabled'</span><span class="token punctuation" data-v-60a2bc8d="">]</span> <span class="token operator" data-v-60a2bc8d="">=</span> targetKeys<span class="token punctuation" data-v-60a2bc8d="">.</span><span class="token function" data-v-60a2bc8d="">includes</span><span class="token punctuation" data-v-60a2bc8d="">(</span>item<span class="token punctuation" data-v-60a2bc8d="">.</span>key<span class="token punctuation" data-v-60a2bc8d="">)</span><span class="token punctuation" data-v-60a2bc8d="">;</span>
    <span class="token keyword" data-v-60a2bc8d="">if</span> <span class="token punctuation" data-v-60a2bc8d="">(</span>item<span class="token punctuation" data-v-60a2bc8d="">.</span>children<span class="token punctuation" data-v-60a2bc8d="">)</span> <span class="token punctuation" data-v-60a2bc8d="">{</span>
      <span class="token function" data-v-60a2bc8d="">handleTreeData</span><span class="token punctuation" data-v-60a2bc8d="">(</span>item<span class="token punctuation" data-v-60a2bc8d="">.</span>children<span class="token punctuation" data-v-60a2bc8d="">,</span> targetKeys<span class="token punctuation" data-v-60a2bc8d="">)</span><span class="token punctuation" data-v-60a2bc8d="">;</span>
    <span class="token punctuation" data-v-60a2bc8d="">}</span>
  <span class="token punctuation" data-v-60a2bc8d="">}</span><span class="token punctuation" data-v-60a2bc8d="">)</span><span class="token punctuation" data-v-60a2bc8d="">;</span>
  <span class="token keyword" data-v-60a2bc8d="">return</span> data<span class="token punctuation" data-v-60a2bc8d="">;</span>
<span class="token punctuation" data-v-60a2bc8d="">}</span> 
<span class="token keyword" data-v-60a2bc8d="">export</span> <span class="token keyword" data-v-60a2bc8d="">default</span> <span class="token function" data-v-60a2bc8d="">defineComponent</span><span class="token punctuation" data-v-60a2bc8d="">(</span><span class="token punctuation" data-v-60a2bc8d="">{</span>
  <span class="token function" data-v-60a2bc8d="">setup</span><span class="token punctuation" data-v-60a2bc8d="">(</span><span class="token punctuation" data-v-60a2bc8d="">)</span> <span class="token punctuation" data-v-60a2bc8d="">{</span>
    <span class="token keyword" data-v-60a2bc8d="">const</span> targetKeys <span class="token operator" data-v-60a2bc8d="">=</span> ref<span class="token operator" data-v-60a2bc8d="">&lt;</span>string<span class="token punctuation" data-v-60a2bc8d="">[</span><span class="token punctuation" data-v-60a2bc8d="">]</span><span class="token operator" data-v-60a2bc8d="">&gt;</span><span class="token punctuation" data-v-60a2bc8d="">(</span><span class="token punctuation" data-v-60a2bc8d="">[</span><span class="token punctuation" data-v-60a2bc8d="">]</span><span class="token punctuation" data-v-60a2bc8d="">)</span><span class="token punctuation" data-v-60a2bc8d="">;</span> 
    <span class="token keyword" data-v-60a2bc8d="">const</span> dataSource <span class="token operator" data-v-60a2bc8d="">=</span> ref<span class="token operator" data-v-60a2bc8d="">&lt;</span>TreeDataItem<span class="token punctuation" data-v-60a2bc8d="">[</span><span class="token punctuation" data-v-60a2bc8d="">]</span><span class="token operator" data-v-60a2bc8d="">&gt;</span><span class="token punctuation" data-v-60a2bc8d="">(</span>transferDataSource<span class="token punctuation" data-v-60a2bc8d="">)</span><span class="token punctuation" data-v-60a2bc8d="">;</span> 
    <span class="token keyword" data-v-60a2bc8d="">const</span> treeData <span class="token operator" data-v-60a2bc8d="">=</span> computed<span class="token operator" data-v-60a2bc8d="">&lt;</span>TreeDataItem<span class="token punctuation" data-v-60a2bc8d="">[</span><span class="token punctuation" data-v-60a2bc8d="">]</span><span class="token operator" data-v-60a2bc8d="">&gt;</span><span class="token punctuation" data-v-60a2bc8d="">(</span><span class="token punctuation" data-v-60a2bc8d="">(</span><span class="token punctuation" data-v-60a2bc8d="">)</span> <span class="token operator" data-v-60a2bc8d="">=&gt;</span> <span class="token punctuation" data-v-60a2bc8d="">{</span>
      <span class="token keyword" data-v-60a2bc8d="">return</span> <span class="token function" data-v-60a2bc8d="">handleTreeData</span><span class="token punctuation" data-v-60a2bc8d="">(</span>tData<span class="token punctuation" data-v-60a2bc8d="">,</span> targetKeys<span class="token punctuation" data-v-60a2bc8d="">.</span>value<span class="token punctuation" data-v-60a2bc8d="">)</span><span class="token punctuation" data-v-60a2bc8d="">;</span>
    <span class="token punctuation" data-v-60a2bc8d="">}</span><span class="token punctuation" data-v-60a2bc8d="">)</span><span class="token punctuation" data-v-60a2bc8d="">;</span> 
    <span class="token keyword" data-v-60a2bc8d="">const</span> <span class="token function-variable function" data-v-60a2bc8d="">onChange</span> <span class="token operator" data-v-60a2bc8d="">=</span> <span class="token punctuation" data-v-60a2bc8d="">(</span><span class="token parameter" data-v-60a2bc8d="">keys<span class="token operator" data-v-60a2bc8d="">:</span> string<span class="token punctuation" data-v-60a2bc8d="">[</span><span class="token punctuation" data-v-60a2bc8d="">]</span></span><span class="token punctuation" data-v-60a2bc8d="">)</span> <span class="token operator" data-v-60a2bc8d="">=&gt;</span> <span class="token punctuation" data-v-60a2bc8d="">{</span>
      targetKeys<span class="token punctuation" data-v-60a2bc8d="">.</span>value <span class="token operator" data-v-60a2bc8d="">=</span> keys<span class="token punctuation" data-v-60a2bc8d="">;</span>
    <span class="token punctuation" data-v-60a2bc8d="">}</span><span class="token punctuation" data-v-60a2bc8d="">;</span>
    <span class="token keyword" data-v-60a2bc8d="">const</span> <span class="token function-variable function" data-v-60a2bc8d="">onChecked</span> <span class="token operator" data-v-60a2bc8d="">=</span> <span class="token punctuation" data-v-60a2bc8d="">(</span>
      _<span class="token operator" data-v-60a2bc8d="">:</span> Record<span class="token operator" data-v-60a2bc8d="">&lt;</span>string<span class="token punctuation" data-v-60a2bc8d="">,</span> string<span class="token punctuation" data-v-60a2bc8d="">[</span><span class="token punctuation" data-v-60a2bc8d="">]</span><span class="token operator" data-v-60a2bc8d="">&gt;</span><span class="token punctuation" data-v-60a2bc8d="">,</span>
      e<span class="token operator" data-v-60a2bc8d="">:</span> CheckEvent<span class="token punctuation" data-v-60a2bc8d="">,</span>
      checkedKeys<span class="token operator" data-v-60a2bc8d="">:</span> string<span class="token punctuation" data-v-60a2bc8d="">[</span><span class="token punctuation" data-v-60a2bc8d="">]</span><span class="token punctuation" data-v-60a2bc8d="">,</span>
      <span class="token function-variable function" data-v-60a2bc8d="">onItemSelect</span><span class="token operator" data-v-60a2bc8d="">:</span> <span class="token punctuation" data-v-60a2bc8d="">(</span><span class="token parameter" data-v-60a2bc8d="">n<span class="token operator" data-v-60a2bc8d="">:</span> any<span class="token punctuation" data-v-60a2bc8d="">,</span> c<span class="token operator" data-v-60a2bc8d="">:</span> boolean</span><span class="token punctuation" data-v-60a2bc8d="">)</span> <span class="token operator" data-v-60a2bc8d="">=&gt;</span> <span class="token keyword" data-v-60a2bc8d="">void</span><span class="token punctuation" data-v-60a2bc8d="">,</span>
    <span class="token punctuation" data-v-60a2bc8d="">)</span> <span class="token operator" data-v-60a2bc8d="">=&gt;</span> <span class="token punctuation" data-v-60a2bc8d="">{</span>
      <span class="token keyword" data-v-60a2bc8d="">const</span> <span class="token punctuation" data-v-60a2bc8d="">{</span> eventKey <span class="token punctuation" data-v-60a2bc8d="">}</span> <span class="token operator" data-v-60a2bc8d="">=</span> e<span class="token punctuation" data-v-60a2bc8d="">.</span>node<span class="token punctuation" data-v-60a2bc8d="">;</span>
      <span class="token function" data-v-60a2bc8d="">onItemSelect</span><span class="token punctuation" data-v-60a2bc8d="">(</span>eventKey<span class="token punctuation" data-v-60a2bc8d="">,</span> <span class="token operator" data-v-60a2bc8d="">!</span><span class="token function" data-v-60a2bc8d="">isChecked</span><span class="token punctuation" data-v-60a2bc8d="">(</span>checkedKeys<span class="token punctuation" data-v-60a2bc8d="">,</span> eventKey<span class="token punctuation" data-v-60a2bc8d="">)</span><span class="token punctuation" data-v-60a2bc8d="">)</span><span class="token punctuation" data-v-60a2bc8d="">;</span>
    <span class="token punctuation" data-v-60a2bc8d="">}</span><span class="token punctuation" data-v-60a2bc8d="">;</span>
    <span class="token keyword" data-v-60a2bc8d="">return</span> <span class="token punctuation" data-v-60a2bc8d="">{</span>
      targetKeys<span class="token punctuation" data-v-60a2bc8d="">,</span>
      dataSource<span class="token punctuation" data-v-60a2bc8d="">,</span>
      treeData<span class="token punctuation" data-v-60a2bc8d="">,</span>
      onChange<span class="token punctuation" data-v-60a2bc8d="">,</span>
      onChecked<span class="token punctuation" data-v-60a2bc8d="">,</span>
    <span class="token punctuation" data-v-60a2bc8d="">}</span><span class="token punctuation" data-v-60a2bc8d="">;</span>
  <span class="token punctuation" data-v-60a2bc8d="">}</span><span class="token punctuation" data-v-60a2bc8d="">,</span>
<span class="token punctuation" data-v-60a2bc8d="">}</span><span class="token punctuation" data-v-60a2bc8d="">)</span><span class="token punctuation" data-v-60a2bc8d="">;</span>
</span></span><span class="token tag" data-v-60a2bc8d=""><span class="token tag" data-v-60a2bc8d=""><span class="token punctuation" data-v-60a2bc8d="">&lt;/</span>script</span><span class="token punctuation" data-v-60a2bc8d="">&gt;</span></span>
<span class="token tag" data-v-60a2bc8d=""><span class="token tag" data-v-60a2bc8d=""><span class="token punctuation" data-v-60a2bc8d="">&lt;</span>style</span> <span class="token attr-name" data-v-60a2bc8d="">scoped</span><span class="token punctuation" data-v-60a2bc8d="">&gt;</span></span><span class="token style" data-v-60a2bc8d=""><span class="token language-css" data-v-60a2bc8d="">
<span class="token selector" data-v-60a2bc8d="">.tree-transfer .ant-transfer-list:first-child</span> <span class="token punctuation" data-v-60a2bc8d="">{</span>
  <span class="token property" data-v-60a2bc8d="">width</span><span class="token punctuation" data-v-60a2bc8d="">:</span> 50%<span class="token punctuation" data-v-60a2bc8d="">;</span>
  <span class="token property" data-v-60a2bc8d="">flex</span><span class="token punctuation" data-v-60a2bc8d="">:</span> none<span class="token punctuation" data-v-60a2bc8d="">;</span>
<span class="token punctuation" data-v-60a2bc8d="">}</span>
</span></span><span class="token tag" data-v-60a2bc8d=""><span class="token tag" data-v-60a2bc8d=""><span class="token punctuation" data-v-60a2bc8d="">&lt;/</span>style</span><span class="token punctuation" data-v-60a2bc8d="">&gt;</span></span>
</code></pre>
            </div>
        </section>
    </section>
    </div>
    <!---->
    </div>
    <!---->
    <section class="markdown api-container">
        <h2 id="API"><span>API</span><a href="#API" class="anchor">#</a></h2> 
        <table class="docTable">
            <thead>
                <tr>
                    <th>参数</th>
                    <th>说明</th>
                    <th>类型</th>
                    <th>默认值</th>
                    <th>版本</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>dataSource</td>
                    <td>数据源，其中的数据将会被渲染到左边一栏中，<code>targetKeys</code> 中指定的除外。</td>
                    <td>[{key: string.isRequired,title: string.isRequired,description: string,disabled: bool}][]</td>
                    <td>[]</td>
                    <td></td>
                </tr>
                <tr>
                    <td>disabled</td>
                    <td>是否禁用</td>
                    <td>boolean</td>
                    <td>false</td>
                    <td></td>
                </tr>
                <tr>
                    <td>filterOption</td>
                    <td>接收 <code>inputValue</code> <code>option</code> 两个参数，当 <code>option</code> 符合筛选条件时，应返回 <code>true</code>，反之则返回 <code>false</code>。</td>
                    <td>(inputValue, option): boolean</td>
                    <td></td>
                    <td></td>
                </tr>
                <tr>
                    <td>footer</td>
                    <td>可以设置为一个 作用域插槽</td>
                    <td>slot="footer" slot-scope="props"</td>
                    <td></td>
                    <td></td>
                </tr>
                <tr>
                    <td>lazy</td>
                    <td>Transfer 使用了 [vc-lazy-load]优化性能，这里可以设置相关参数。设为 <code>false</code> 可以关闭懒加载。</td>
                    <td>object|boolean</td>
                    <td><code>{ height: 32, offset: 32 }</code></td>
                    <td></td>
                </tr>
                <tr>
                    <td>listStyle</td>
                    <td>两个穿梭框的自定义样式</td>
                    <td>object</td>
                    <td></td>
                    <td></td>
                </tr>
                <tr>
                    <td>locale</td>
                    <td>各种语言</td>
                    <td>object</td>
                    <td><code>{ itemUnit: '项', itemsUnit: '项', notFoundContent: '列表为空', searchPlaceholder: '请输入搜索内容' }</code></td>
                    <td></td>
                </tr>
                <tr>
                    <td>operations</td>
                    <td>操作文案集合，顺序从上至下</td>
                    <td>string[]</td>
                    <td>['&gt;', '&lt;']</td>
                    <td></td>
                </tr>
                <tr>
                    <td>render</td>
                    <td>每行数据渲染函数，该函数的入参为 <code>dataSource</code> 中的项，返回值为 element。或者返回一个普通对象，其中 <code>label</code> 字段为 element，<code>value</code> 字段为 title</td>
                    <td>Function(record)| slot</td>
                    <td></td>
                    <td></td>
                </tr>
                <tr>
                    <td>selectedKeys</td>
                    <td>设置哪些项应该被选中</td>
                    <td>string[]</td>
                    <td>[]</td>
                    <td></td>
                </tr>
                <tr>
                    <td>showSearch</td>
                    <td>是否显示搜索框</td>
                    <td>boolean</td>
                    <td>false</td>
                    <td></td>
                </tr>
                <tr>
                    <td>showSelectAll</td>
                    <td>是否展示全选勾选框</td>
                    <td>boolean</td>
                    <td>true</td>
                    <td></td>
                </tr>
                <tr>
                    <td>targetKeys</td>
                    <td>显示在右侧框数据的 key 集合</td>
                    <td>string[]</td>
                    <td>[]</td>
                    <td></td>
                </tr>
                <tr>
                    <td>titles</td>
                    <td>标题集合，顺序从左至右</td>
                    <td>string[]</td>
                    <td>['', '']</td>
                    <td></td>
                </tr>
            </tbody>
        </table>
        <h3 id="事件">事件</h3>
        <table class="docTable">
            <thead>
                <tr>
                    <th>事件名称</th>
                    <th>说明</th>
                    <th>回调参数</th>
                    <th>版本</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>change</td>
                    <td>选项在两栏之间转移时的回调函数</td>
                    <td>(targetKeys, direction, moveKeys): void</td>
                    <td></td>
                </tr>
                <tr>
                    <td>scroll</td>
                    <td>选项列表滚动时的回调函数</td>
                    <td>(direction, event): void</td>
                    <td></td>
                </tr>
                <tr>
                    <td>search</td>
                    <td>搜索框内容时改变时的回调函数</td>
                    <td>(direction: 'left'|'right', value: string): void</td>
                    <td>-</td>
                </tr>
                <tr>
                    <td>selectChange</td>
                    <td>选中项发生改变时的回调函数</td>
                    <td>(sourceSelectedKeys, targetSelectedKeys): void</td>
                    <td></td>
                </tr>
            </tbody>
        </table>
        <h3 id="render-props">Render Props</h3>
        <p>Transfer 支持接收 <code>children</code> 自定义渲染列表，并返回以下参数：</p>
        <pre class="language-json" v-pre=""><code><span class="token punctuation">{</span>
  <span class="token property">"direction"</span><span class="token operator">:</span> String<span class="token punctuation">,</span>
  <span class="token property">"disabled"</span><span class="token operator">:</span> Boolean<span class="token punctuation">,</span>
  <span class="token property">"filteredItems"</span><span class="token operator">:</span> Array<span class="token punctuation">,</span>
  <span class="token property">"selectedKeys"</span><span class="token operator">:</span> Array<span class="token punctuation">,</span>
  <span class="token property">"onItemSelect"</span><span class="token operator">:</span> Function<span class="token punctuation">,</span>
  <span class="token property">"onItemSelectAll"</span><span class="token operator">:</span> Function
<span class="token punctuation">}</span>
</code></pre>
        <table class="docTable">
            <thead>
                <tr>
                    <th>参数</th>
                    <th>说明</th>
                    <th>类型</th>
                    <th>版本</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>direction</td>
                    <td>渲染列表的方向</td>
                    <td>'left' | 'right'</td>
                    <td></td>
                </tr>
                <tr>
                    <td>disabled</td>
                    <td>是否禁用列表</td>
                    <td>boolean</td>
                    <td></td>
                </tr>
                <tr>
                    <td>filteredItems</td>
                    <td>过滤后的数据</td>
                    <td>TransferItem[]</td>
                    <td></td>
                </tr>
                <tr>
                    <td>selectedKeys</td>
                    <td>选中的条目</td>
                    <td>string[]</td>
                    <td></td>
                </tr>
                <tr>
                    <td>itemSelect</td>
                    <td>勾选条目</td>
                    <td>(key: string, selected: boolean)</td>
                    <td></td>
                </tr>
                <tr>
                    <td>itemSelectAll</td>
                    <td>勾选一组条目</td>
                    <td>(keys: string[], selected: boolean)</td>
                    <td></td>
                </tr>
            </tbody>
        </table>
        <h4 id="参考示例">参考示例</h4>
        <pre class="language-html" v-pre=""><code><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>a-transfer</span><span class="token punctuation">&gt;</span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>template</span>
    <span class="token attr-name">#children</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>{
      direction,
      filteredItems,
      selectedKeys,
      disabled: listDisabled,
      onItemSelectAll,
      onItemSelect,
    }<span class="token punctuation">"</span></span>
  <span class="token punctuation">&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>your-component</span> <span class="token punctuation">/&gt;</span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>template</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>a-transfer</span><span class="token punctuation">&gt;</span></span>
</code></pre>
        <h2 id="注意">注意</h2>
        <p>按照 Vue 最新的规范，所有的组件数组最好绑定 key。在 Transfer 中，<code>dataSource</code>里的数据值需要指定 <code>key</code> 值。对于 <code>dataSource</code> 默认将每列数据的 <code>key</code> 属性作为唯一的标识。</p>
        <p>如果你的数据没有这个属性，务必使用 <code>rowKey</code> 来指定数据列的主键。</p>
        <pre class="language-jsx" v-pre=""><code><span class="token comment">// 比如你的数据主键是 uid</span>
<span class="token keyword">return</span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span><span class="token class-name">Transfer</span></span> <span class="token attr-name">:rowKey</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>record =&gt; record.uid<span class="token punctuation">"</span></span> <span class="token punctuation">/&gt;</span></span><span class="token punctuation">;</span>
</code></pre> 
    </section>
</article>