{"meta":"<h2 id=\"Guide\">Guide <a class=\"header-anchor scroll-count-item\" href=\"#Guide\" data-scroll-id=\"Guide\">#</a></h2>\n<h3 id=\"When To Use\">When To Use <a class=\"header-anchor scroll-count-item\" href=\"#When To Use\" data-scroll-id=\"When To Use\">#</a></h3>\n<ul>\n<li>Applies to the interactive way of selecting from a set of related data sets.</li>\n<li>Cascading is an effective method of saving screen space due to the hidden subset directory.</li>\n<li>The number of levels depends on the business needs, and it is not recommended to exceed 5 levels.</li>\n<li>Cascading is used for form scenes. It can be used independently on the page or in combination with other elements, such as cascading options.</li>\n</ul>\n","api":"<h2 id=\"API\">API <a class=\"header-anchor scroll-count-item\" href=\"#API\" data-scroll-id=\"API\">#</a></h2>\n<h3 id=\"Cascader\">Cascader <a class=\"header-anchor scroll-count-item\" href=\"#Cascader\" data-scroll-id=\"Cascader\">#</a></h3>\n<table>\n<thead>\n<tr>\n<th>Param</th>\n<th>Description</th>\n<th>Type</th>\n<th>Default Value</th>\n<th>Required</th>\n<th>Supported Version</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>dataSource</td>\n<td>Data source</td>\n<td>Array&lt;CascaderDataItem&gt;</td>\n<td>[]</td>\n<td></td>\n<td>-</td>\n</tr>\n<tr>\n<td>defaultValue</td>\n<td>Default value</td>\n<td>string | Array&lt;string&gt;</td>\n<td>-</td>\n<td></td>\n<td>-</td>\n</tr>\n<tr>\n<td>value</td>\n<td>Current value</td>\n<td>string | Array&lt;string&gt;</td>\n<td>-</td>\n<td></td>\n<td>-</td>\n</tr>\n<tr>\n<td>onChange</td>\n<td>Callback when value changed<br><br><strong>signature</strong>:<br><strong>params</strong>:<br><em>value</em>: Selected value, single value when single select, array when multiple select<br><em>data</em>: Selected data, including value and label, single value when single select, array when multiple select<br><em>extra</em>: Extra parameters</td>\n<td>(<br> value: string | Array&lt;string&gt;,<br> data: CascaderDataItem | Array&lt;CascaderDataItem&gt;,<br> extra: Extra<br> ) =&gt; void</td>\n<td>-</td>\n<td></td>\n<td>-</td>\n</tr>\n<tr>\n<td>onSelect</td>\n<td>Callback when selected<br><br><strong>signature</strong>:<br><strong>params</strong>:<br><em>v</em>: Selected value<br><em>data</em>: Selected data, including value and label<br><em>extra</em>: Extra parameters</td>\n<td>(v: string, data: CascaderDataItemWithPosInfo, extra: Extra) =&gt; void</td>\n<td>-</td>\n<td></td>\n<td>-</td>\n</tr>\n<tr>\n<td>defaultExpandedValue</td>\n<td>Default expanded value</td>\n<td>Array&lt;string&gt;</td>\n<td>-</td>\n<td></td>\n<td>-</td>\n</tr>\n<tr>\n<td>expandedValue</td>\n<td>Current expanded value</td>\n<td>Array&lt;string&gt;</td>\n<td>-</td>\n<td></td>\n<td>-</td>\n</tr>\n<tr>\n<td>expandTriggerType</td>\n<td>Expand trigger type</td>\n<td>&apos;click&apos; | &apos;hover&apos;</td>\n<td>&apos;click&apos;</td>\n<td></td>\n<td>-</td>\n</tr>\n<tr>\n<td>onExpand</td>\n<td>Callback when expanded<br><br><strong>signature</strong>:<br><strong>params</strong>:<br><em>expandedValue</em>: Expanded value</td>\n<td>(expandedValue: Array&lt;string&gt;) =&gt; void</td>\n<td>-</td>\n<td></td>\n<td>-</td>\n</tr>\n<tr>\n<td>useVirtual</td>\n<td>Use virtual scroll, recommend set listStyle fixed width when enable</td>\n<td>boolean</td>\n<td>false</td>\n<td></td>\n<td>-</td>\n</tr>\n<tr>\n<td>multiple</td>\n<td>Multiple</td>\n<td>boolean</td>\n<td>false</td>\n<td></td>\n<td>-</td>\n</tr>\n<tr>\n<td>canOnlySelectLeaf</td>\n<td>Can only select leaf when single select</td>\n<td>boolean</td>\n<td>false</td>\n<td></td>\n<td>-</td>\n</tr>\n<tr>\n<td>canOnlyCheckLeaf</td>\n<td>Can only check leaf when multiple select</td>\n<td>boolean</td>\n<td>false</td>\n<td></td>\n<td>-</td>\n</tr>\n<tr>\n<td>checkStrictly</td>\n<td>Check parent and child not associated</td>\n<td>boolean</td>\n<td>false</td>\n<td></td>\n<td>-</td>\n</tr>\n<tr>\n<td>listStyle</td>\n<td>List style</td>\n<td>React.CSSProperties</td>\n<td>-</td>\n<td></td>\n<td>-</td>\n</tr>\n<tr>\n<td>listClassName</td>\n<td>List class</td>\n<td>string</td>\n<td>-</td>\n<td></td>\n<td>-</td>\n</tr>\n<tr>\n<td>itemRender</td>\n<td>List item render<br><br><strong>signature</strong>:<br><strong>params</strong>:<br><em>data</em>: Data<br><em>props</em>: List item props<br><strong>return</strong>:<br>List item content</td>\n<td>(data: CascaderDataItem, props: ItemProps) =&gt; React.ReactNode</td>\n<td>(item: CascaderDataItem) =&gt; item.label</td>\n<td></td>\n<td>-</td>\n</tr>\n<tr>\n<td>loadData</td>\n<td>Async load data function<br><br><strong>signature</strong>:<br><strong>params</strong>:<br><em>data</em>: Current click data<br><em>source</em>: Current click data, source is original object</td>\n<td>(data: CascaderDataItem, source: CascaderDataItem) =&gt; Promise&lt;unknown&gt;</td>\n<td>-</td>\n<td></td>\n<td>-</td>\n</tr>\n<tr>\n<td>immutable</td>\n<td>Immutable</td>\n<td>boolean</td>\n<td>false</td>\n<td></td>\n<td>1.23.0</td>\n</tr>\n</tbody>\n</table>\n<h3 id=\"Cascader Data Item\">CascaderDataItem <a class=\"header-anchor scroll-count-item\" href=\"#Cascader Data Item\" data-scroll-id=\"Cascader Data Item\">#</a></h3>\n<pre class=\"language-typescript\"><code class=\"language-typescript\"><span class=\"token keyword\">export</span> <span class=\"token keyword\">type</span> <span class=\"token class-name\">CascaderDataItem</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n    value<span class=\"token operator\">:</span> <span class=\"token builtin\">string</span><span class=\"token punctuation\">;</span>\n    label<span class=\"token operator\">?</span><span class=\"token operator\">:</span> React<span class=\"token punctuation\">.</span>ReactNode<span class=\"token punctuation\">;</span>\n    disabled<span class=\"token operator\">?</span><span class=\"token operator\">:</span> <span class=\"token builtin\">boolean</span><span class=\"token punctuation\">;</span>\n    checkboxDisabled<span class=\"token operator\">?</span><span class=\"token operator\">:</span> <span class=\"token builtin\">boolean</span><span class=\"token punctuation\">;</span>\n    children<span class=\"token operator\">?</span><span class=\"token operator\">:</span> <span class=\"token builtin\">Array</span><span class=\"token operator\">&lt;</span>CascaderDataItem<span class=\"token operator\">&gt;</span><span class=\"token punctuation\">;</span>\n    title<span class=\"token operator\">?</span><span class=\"token operator\">:</span> <span class=\"token builtin\">string</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">[</span>propName<span class=\"token operator\">:</span> <span class=\"token builtin\">string</span><span class=\"token punctuation\">]</span><span class=\"token operator\">:</span> <span class=\"token builtin\">unknown</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n</code></pre>\n<h3 id=\"Cascader Data Item With Pos Info\">CascaderDataItemWithPosInfo <a class=\"header-anchor scroll-count-item\" href=\"#Cascader Data Item With Pos Info\" data-scroll-id=\"Cascader Data Item With Pos Info\">#</a></h3>\n<pre class=\"language-typescript\"><code class=\"language-typescript\"><span class=\"token keyword\">export</span> <span class=\"token keyword\">type</span> <span class=\"token class-name\">CascaderDataItemWithPosInfo</span> <span class=\"token operator\">=</span> CascaderDataItem <span class=\"token operator\">&amp;</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token comment\">/**\n     * &#x4F4D;&#x7F6E;&#x4FE1;&#x606F;\n     */</span>\n    pos<span class=\"token operator\">:</span> <span class=\"token builtin\">string</span><span class=\"token punctuation\">;</span>\n    _source<span class=\"token operator\">?</span><span class=\"token operator\">:</span> CascaderDataItem<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n</code></pre>\n<h3 id=\"Extra\">Extra <a class=\"header-anchor scroll-count-item\" href=\"#Extra\" data-scroll-id=\"Extra\">#</a></h3>\n<pre class=\"language-typescript\"><code class=\"language-typescript\"><span class=\"token keyword\">export</span> <span class=\"token keyword\">type</span> <span class=\"token class-name\">Extra</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token comment\">/**\n     * &#x5355;&#x9009;&#x65F6;&#x9009;&#x4E2D;&#x7684;&#x6570;&#x636E;&#x7684;&#x8DEF;&#x5F84;\n     */</span>\n    selectedPath<span class=\"token operator\">?</span><span class=\"token operator\">:</span> <span class=\"token builtin\">Array</span><span class=\"token operator\">&lt;</span>CascaderDataItem<span class=\"token operator\">&gt;</span><span class=\"token punctuation\">;</span>\n    <span class=\"token comment\">/**\n     * &#x591A;&#x9009;&#x65F6;&#x5F53;&#x524D;&#x7684;&#x64CD;&#x4F5C;&#x662F;&#x9009;&#x4E2D;&#x8FD8;&#x662F;&#x53D6;&#x6D88;&#x9009;&#x4E2D;\n     */</span>\n    checked<span class=\"token operator\">?</span><span class=\"token operator\">:</span> <span class=\"token builtin\">boolean</span><span class=\"token punctuation\">;</span>\n    <span class=\"token comment\">/**\n     * &#x591A;&#x9009;&#x65F6;&#x5F53;&#x524D;&#x64CD;&#x4F5C;&#x7684;&#x6570;&#x636E;\n     */</span>\n    currentData<span class=\"token operator\">?</span><span class=\"token operator\">:</span> CascaderDataItem<span class=\"token punctuation\">;</span>\n    <span class=\"token comment\">/**\n     * &#x591A;&#x9009;&#x65F6;&#x6240;&#x6709;&#x88AB;&#x9009;&#x4E2D;&#x7684;&#x6570;&#x636E;\n     */</span>\n    checkedData<span class=\"token operator\">?</span><span class=\"token operator\">:</span> <span class=\"token builtin\">Array</span><span class=\"token operator\">&lt;</span>CascaderDataItem<span class=\"token operator\">&gt;</span><span class=\"token punctuation\">;</span>\n    <span class=\"token comment\">/**\n     * &#x591A;&#x9009;&#x65F6;&#x534A;&#x9009;&#x7684;&#x6570;&#x636E;\n     */</span>\n    indeterminateData<span class=\"token operator\">?</span><span class=\"token operator\">:</span> <span class=\"token builtin\">Array</span><span class=\"token operator\">&lt;</span>CascaderDataItem<span class=\"token operator\">&gt;</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n</code></pre>\n<!-- api-extra-start -->\n<h3 id=\"Data Structure Of Data Source\">Data structure of dataSource <a class=\"header-anchor scroll-count-item\" href=\"#Data Structure Of Data Source\" data-scroll-id=\"Data Structure Of Data Source\">#</a></h3>\n<pre class=\"language-js\"><code class=\"language-js\"><span class=\"token keyword\">const</span> dataSource <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token literal-property property\">value</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;2974&apos;</span><span class=\"token punctuation\">,</span>\n        <span class=\"token literal-property property\">label</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;A&apos;</span><span class=\"token punctuation\">,</span>\n        <span class=\"token literal-property property\">children</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token punctuation\">{</span> <span class=\"token literal-property property\">value</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;2975&apos;</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">label</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;B&apos;</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">disabled</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span> <span class=\"token literal-property property\">value</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;2976&apos;</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">label</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;C&apos;</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">checkboxDisabled</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span> <span class=\"token literal-property property\">value</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;2977&apos;</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">label</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;D&apos;</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span> <span class=\"token literal-property property\">value</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;2978&apos;</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">label</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;E&apos;</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span> <span class=\"token literal-property property\">value</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;2979&apos;</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">label</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;F&apos;</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span> <span class=\"token literal-property property\">value</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;4208&apos;</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">label</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;G&apos;</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span> <span class=\"token literal-property property\">value</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;4209&apos;</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">label</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;H&apos;</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span> <span class=\"token literal-property property\">value</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;4210&apos;</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">label</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;I&apos;</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span> <span class=\"token literal-property property\">value</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;4211&apos;</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">label</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;J&apos;</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span> <span class=\"token literal-property property\">value</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;4212&apos;</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">label</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;K&apos;</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span> <span class=\"token literal-property property\">value</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;4213&apos;</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">label</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;L&apos;</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span> <span class=\"token literal-property property\">value</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;4214&apos;</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">label</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;M&apos;</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span> <span class=\"token literal-property property\">value</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;4215&apos;</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">label</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;N&apos;</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span> <span class=\"token literal-property property\">value</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;4388&apos;</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">label</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;O&apos;</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span> <span class=\"token literal-property property\">value</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;610127&apos;</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">label</span><span class=\"token operator\">:</span> <span class=\"token string\">&apos;P&apos;</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n</code></pre>\n<p>The custom attribute of item in the array is also transparently passed to the data parameter of the onChange function.</p>\n<!-- api-extra-end -->\n<h2 id=\"ARIA And Key Board\">ARIA and KeyBoard <a class=\"header-anchor scroll-count-item\" href=\"#ARIA And Key Board\" data-scroll-id=\"ARIA And Key Board\">#</a></h2>\n<table>\n<thead>\n<tr>\n<th style=\"text-align:left\">&#x6309;&#x952E;</th>\n<th style=\"text-align:left\">&#x8BF4;&#x660E;</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align:left\">Left Arrow</td>\n<td style=\"text-align:left\">Get the previous item focus of the current item of same level</td>\n</tr>\n<tr>\n<td style=\"text-align:left\">Right Arrow</td>\n<td style=\"text-align:left\">Get the next item focus of the current item of same level</td>\n</tr>\n<tr>\n<td style=\"text-align:left\">Tab</td>\n<td style=\"text-align:left\">Enter the child element of the current item and get the first child element as the focus</td>\n</tr>\n<tr>\n<td style=\"text-align:left\">Esc</td>\n<td style=\"text-align:left\">Returns the parent of the current item and gets the focus</td>\n</tr>\n<tr>\n<td style=\"text-align:left\">SPACE</td>\n<td style=\"text-align:left\">Select current item</td>\n</tr>\n</tbody>\n</table>\n"}