mirror of
https://github.com/wahyd4/ant-design.git
synced 2026-08-26 05:06:30 +10:00
1192 lines
37 KiB
HTML
1192 lines
37 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
|
<meta name="format-detection" content="telephone=no">
|
|
<meta name="description" content="一个 UI 设计语言"/>
|
|
<title>
|
|
TreeSelect 树选择 - Ant Design
|
|
</title>
|
|
<link rel="icon" href="https://t.alipayobjects.com/images/T1QUBfXo4fXXXXXXXX.png" type="image/x-icon">
|
|
<link rel="shortcut icon" href="https://t.alipayobjects.com/images/T1QUBfXo4fXXXXXXXX.png" type="image/x-icon">
|
|
|
|
<link rel="stylesheet" href="../../dist/demo.css?20160114">
|
|
<script src="https://as.alipayobjects.com/g/component/??console-polyfill/0.2.2/index.js,es5-shim/4.1.14/es5-shim.min.js,es5-shim/4.1.14/es5-sham.min.js,html5shiv/3.7.2/html5shiv.min.js,media-match/2.0.2/media.match.min.js,jquery/1.11.3/jquery.min.js,bluebird/3.1.1/bluebird.min.js"></script>
|
|
<script>
|
|
(function() {
|
|
window.ANT_COMPONENTS = [];
|
|
window.InstantClickChangeFns = [];
|
|
ANT_COMPONENTS.push({
|
|
title: 'Pagination',
|
|
desc: '分页'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Affix',
|
|
desc: '固钉'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Badge',
|
|
desc: '徽标数'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Breadcrumb',
|
|
desc: '面包屑'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Button',
|
|
desc: '按钮'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Calendar',
|
|
desc: '日历'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Carousel',
|
|
desc: '走马灯'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Cascader',
|
|
desc: '级联选择'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Checkbox',
|
|
desc: '多选框'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Collapse',
|
|
desc: '折叠面板'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'DatePicker',
|
|
desc: '日期选择框'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Dropdown',
|
|
desc: '下拉菜单'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Form',
|
|
desc: '表单'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Icon',
|
|
desc: '图标'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'InputNumber',
|
|
desc: '数字输入框'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Layout',
|
|
desc: '布局'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Menu',
|
|
desc: '导航菜单'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Message',
|
|
desc: '全局提示'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Modal',
|
|
desc: '对话框'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Notification',
|
|
desc: '通知提醒框'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Alert',
|
|
desc: '警告提示'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Popconfirm',
|
|
desc: '气泡确认框'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Popover',
|
|
desc: '气泡卡片'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Progress',
|
|
desc: '进度条'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'QueueAnim',
|
|
desc: '进出场动画'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Radio',
|
|
desc: '单选框'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Select',
|
|
desc: '选择器'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Slider',
|
|
desc: '滑动输入条'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Spin',
|
|
desc: '加载中'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Steps',
|
|
desc: '步骤条'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Switch',
|
|
desc: '开关'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Table',
|
|
desc: '表格'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Tabs',
|
|
desc: '标签页'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Tag',
|
|
desc: '标签'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'TimePicker',
|
|
desc: '时间选择框'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Timeline',
|
|
desc: '时间轴'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Tooltip',
|
|
desc: '文字提示'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Transfer',
|
|
desc: '穿梭框'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Tree',
|
|
desc: '树形控件'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'TreeSelect',
|
|
desc: '树选择'
|
|
});
|
|
ANT_COMPONENTS.push({
|
|
title: 'Upload',
|
|
desc: '文件上传'
|
|
});
|
|
// fix ie location origin
|
|
// http://stackoverflow.com/questions/22564167/window-location-origin-gives-wrong-value-when-using-ie
|
|
if (!window.location.origin) {
|
|
window.location.origin = window.location.protocol + "//"
|
|
+ window.location.hostname
|
|
+ (window.location.port ? ':' + window.location.port : '');
|
|
}
|
|
var i = location.pathname.split('/').lastIndexOf('ant-design');
|
|
if (i > 0) {
|
|
window.rootUrl = location.origin + location.pathname.split('/').slice(0, 2+1).join('/');
|
|
} else {
|
|
window.rootUrl = location.origin;
|
|
}
|
|
})();
|
|
</script>
|
|
<script>
|
|
window.antdVersion = {
|
|
latest: '0.12.8'
|
|
};
|
|
</script>
|
|
<script src="../../dist/demo.js?20160114"></script>
|
|
|
|
</head>
|
|
<body >
|
|
<header id="header" class="clearfix">
|
|
<a class="logo" href="../..">
|
|
<img width="60" src="https://t.alipayobjects.com/images/rmsweb/T1B9hfXcdvXXXXXXXX.svg">
|
|
Ant Design
|
|
</a>
|
|
<div class="search">
|
|
<div id="autoComplete"></div>
|
|
</div>
|
|
<nav class="nav" tabindex="-1">
|
|
<span class="bar"></span>
|
|
<ul>
|
|
<li class="">
|
|
<a href="../..">首页</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../../docs/practice/cases">实践</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../../docs/pattern/navigation">模式</a>
|
|
</li>
|
|
<li class="current">
|
|
<a href="../../docs/react/introduce">组件</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../../docs/spec/introduce">语言</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../../docs/resource/download">资源</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
<div class="nav-phone-icon"></div>
|
|
</header>
|
|
<div class="main-wrapper">
|
|
|
|
<aside class="aside-container">
|
|
<ul>
|
|
<li class="">
|
|
<a href="../../docs/react/introduce"
|
|
class="">
|
|
Ant Design of React
|
|
<span class="chinese"></span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../../docs/react/getting-started"
|
|
class="">
|
|
快速上手
|
|
<span class="chinese"></span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../../docs/react/install"
|
|
class="">
|
|
安装
|
|
<span class="chinese"></span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../../docs/react/upgrade-notes"
|
|
class="">
|
|
升级指南
|
|
<span class="chinese"></span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../../changelog"
|
|
class="">
|
|
更新日志
|
|
<span class="chinese"></span>
|
|
</a>
|
|
</li>
|
|
<li open="open">
|
|
<h4>Components</h4>
|
|
<ul class="">
|
|
<li class="type-divider">基本</li>
|
|
<li class="">
|
|
<a href="../button/"
|
|
class="">
|
|
Button
|
|
<span class="chinese">按钮</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../icon/"
|
|
class="">
|
|
Icon
|
|
<span class="chinese">图标</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../layout/"
|
|
class="">
|
|
Layout
|
|
<span class="chinese">布局</span>
|
|
</a>
|
|
</li>
|
|
<li class="type-divider">表单</li>
|
|
<li class="">
|
|
<a href="../cascader/"
|
|
class="">
|
|
Cascader
|
|
<span class="chinese">级联选择</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../checkbox/"
|
|
class="">
|
|
Checkbox
|
|
<span class="chinese">多选框</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../date-picker/"
|
|
class="">
|
|
DatePicker
|
|
<span class="chinese">日期选择框</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../form/"
|
|
class="">
|
|
Form
|
|
<span class="chinese">表单</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../input-number/"
|
|
class="">
|
|
InputNumber
|
|
<span class="chinese">数字输入框</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../radio/"
|
|
class="">
|
|
Radio
|
|
<span class="chinese">单选框</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../select/"
|
|
class="">
|
|
Select
|
|
<span class="chinese">选择器</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../slider/"
|
|
class="">
|
|
Slider
|
|
<span class="chinese">滑动输入条</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../switch/"
|
|
class="">
|
|
Switch
|
|
<span class="chinese">开关</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../time-picker/"
|
|
class="">
|
|
TimePicker
|
|
<span class="chinese">时间选择框</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../transfer/"
|
|
class="">
|
|
Transfer
|
|
<span class="chinese">穿梭框</span>
|
|
</a>
|
|
</li>
|
|
<li class="current">
|
|
<a href="./"
|
|
class="">
|
|
TreeSelect
|
|
<span class="chinese">树选择</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../upload/"
|
|
class="">
|
|
Upload
|
|
<span class="chinese">文件上传</span>
|
|
</a>
|
|
</li>
|
|
<li class="type-divider">展示</li>
|
|
<li class="">
|
|
<a href="../alert/"
|
|
class="">
|
|
Alert
|
|
<span class="chinese">警告提示</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../badge/"
|
|
class="">
|
|
Badge
|
|
<span class="chinese">徽标数</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../calendar/"
|
|
class="">
|
|
Calendar
|
|
<span class="chinese">日历</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../carousel/"
|
|
class="">
|
|
Carousel
|
|
<span class="chinese">走马灯</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../collapse/"
|
|
class="">
|
|
Collapse
|
|
<span class="chinese">折叠面板</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../dropdown/"
|
|
class="">
|
|
Dropdown
|
|
<span class="chinese">下拉菜单</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../message/"
|
|
class=""data-no-instant>
|
|
Message
|
|
<span class="chinese">全局提示</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../modal/"
|
|
class="">
|
|
Modal
|
|
<span class="chinese">对话框</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../notification/"
|
|
class=""data-no-instant>
|
|
Notification
|
|
<span class="chinese">通知提醒框</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../popconfirm/"
|
|
class="">
|
|
Popconfirm
|
|
<span class="chinese">气泡确认框</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../popover/"
|
|
class="">
|
|
Popover
|
|
<span class="chinese">气泡卡片</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../progress/"
|
|
class="">
|
|
Progress
|
|
<span class="chinese">进度条</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../table/"
|
|
class="">
|
|
Table
|
|
<span class="chinese">表格</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../tag/"
|
|
class="">
|
|
Tag
|
|
<span class="chinese">标签</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../timeline/"
|
|
class="">
|
|
Timeline
|
|
<span class="chinese">时间轴</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../tooltip/"
|
|
class="">
|
|
Tooltip
|
|
<span class="chinese">文字提示</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../tree/"
|
|
class="">
|
|
Tree
|
|
<span class="chinese">树形控件</span>
|
|
</a>
|
|
</li>
|
|
<li class="type-divider">导航</li>
|
|
<li class="">
|
|
<a href="../breadcrumb/"
|
|
class="">
|
|
Breadcrumb
|
|
<span class="chinese">面包屑</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../menu/"
|
|
class="">
|
|
Menu
|
|
<span class="chinese">导航菜单</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../pagination/"
|
|
class="">
|
|
Pagination
|
|
<span class="chinese">分页</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../steps/"
|
|
class="">
|
|
Steps
|
|
<span class="chinese">步骤条</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../tabs/"
|
|
class="">
|
|
Tabs
|
|
<span class="chinese">标签页</span>
|
|
</a>
|
|
</li>
|
|
<li class="type-divider">其他</li>
|
|
<li class="">
|
|
<a href="../affix/"
|
|
class="">
|
|
Affix
|
|
<span class="chinese">固钉</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../queue-anim/"
|
|
class="">
|
|
QueueAnim
|
|
<span class="chinese">进出场动画</span>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="../spin/"
|
|
class="">
|
|
Spin
|
|
<span class="chinese">加载中</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</aside>
|
|
|
|
<section class="main-container">
|
|
<article class="markdown">
|
|
<h1>
|
|
TreeSelect 树选择
|
|
</h1>
|
|
<p>树型选择控件。</p>
|
|
<h2 id="何时使用">何时使用<a href="#何时使用" class="anchor">#</a> </h2><p>类似 Select 的选择控件,可选择的数据结构是一个树形结构时,可以使用 TreeSelect,例如公司层级、学科系统、分类目录等等。</p>
|
|
<h2 id="api">API<a href="#api" class="anchor">#</a> </h2><h3 id="tree-props">Tree props<a href="#tree-props" class="anchor">#</a> </h3><table>
|
|
<thead>
|
|
<tr>
|
|
<th>参数</th>
|
|
<th>说明</th>
|
|
<th>类型</th>
|
|
<th>默认值</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>value</td>
|
|
<td>指定当前选中的条目</td>
|
|
<td>string/Array<String></td>
|
|
<td>无</td>
|
|
</tr>
|
|
<tr>
|
|
<td>defaultValue</td>
|
|
<td>指定默认选中的条目</td>
|
|
<td>string/Array<String></td>
|
|
<td>无</td>
|
|
</tr>
|
|
<tr>
|
|
<td>multiple</td>
|
|
<td>支持多选</td>
|
|
<td>boolean</td>
|
|
<td>false</td>
|
|
</tr>
|
|
<tr>
|
|
<td>tags</td>
|
|
<td>可以把随意输入的条目作为 tag,输入项不需要与下拉选项匹配</td>
|
|
<td>boolean</td>
|
|
<td>false</td>
|
|
</tr>
|
|
<tr>
|
|
<td>onSelect</td>
|
|
<td>被选中时调用,参数为选中项的 value 值</td>
|
|
<td>function(value)</td>
|
|
<td>无</td>
|
|
</tr>
|
|
<tr>
|
|
<td>onChange</td>
|
|
<td>选中option,或input的value变化(combobox 模式下)时,调用此函数</td>
|
|
<td>function(value, label)</td>
|
|
<td>无</td>
|
|
</tr>
|
|
<tr>
|
|
<td>allowClear</td>
|
|
<td>显示清除按钮</td>
|
|
<td>boolean</td>
|
|
<td>false</td>
|
|
</tr>
|
|
<tr>
|
|
<td>onSearch</td>
|
|
<td>文本框值变化时回调</td>
|
|
<td>function(value: String)</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>placeholder</td>
|
|
<td>选择框默认文字</td>
|
|
<td>string</td>
|
|
<td>无</td>
|
|
</tr>
|
|
<tr>
|
|
<td>searchPlaceholder</td>
|
|
<td>搜索框默认文字</td>
|
|
<td>string</td>
|
|
<td>无</td>
|
|
</tr>
|
|
<tr>
|
|
<td>dropdownStyle</td>
|
|
<td>下拉菜单的样式</td>
|
|
<td>object</td>
|
|
<td>无</td>
|
|
</tr>
|
|
<tr>
|
|
<td>dropdownMatchSelectWidth</td>
|
|
<td>下拉菜单和选择器同宽</td>
|
|
<td>boolean</td>
|
|
<td>true</td>
|
|
</tr>
|
|
<tr>
|
|
<td>combobox</td>
|
|
<td>输入框自动提示模式</td>
|
|
<td>boolean</td>
|
|
<td>false</td>
|
|
</tr>
|
|
<tr>
|
|
<td>size</td>
|
|
<td>选择框大小,可选 <code>large</code> <code>small</code></td>
|
|
<td>String</td>
|
|
<td>default</td>
|
|
</tr>
|
|
<tr>
|
|
<td>showSearch</td>
|
|
<td>在下拉中显示搜索框</td>
|
|
<td>boolean</td>
|
|
<td>false</td>
|
|
</tr>
|
|
<tr>
|
|
<td>disabled</td>
|
|
<td>是否禁用</td>
|
|
<td>boolean</td>
|
|
<td>false</td>
|
|
</tr>
|
|
<tr>
|
|
<td>treeDefaultExpandAll</td>
|
|
<td>默认展开所有树节点</td>
|
|
<td>bool</td>
|
|
<td>false</td>
|
|
</tr>
|
|
<tr>
|
|
<td>treeCheckable</td>
|
|
<td>显示checkbox</td>
|
|
<td>bool</td>
|
|
<td>false</td>
|
|
</tr>
|
|
<tr>
|
|
<td>filterTreeNode</td>
|
|
<td>是否根据输入项进行筛选,返回值true</td>
|
|
<td>function(treeNode)</td>
|
|
<td>-</td>
|
|
</tr>
|
|
<tr>
|
|
<td>treeNodeFilterProp</td>
|
|
<td>输入项过滤对应的 treeNode 属性</td>
|
|
<td>String</td>
|
|
<td>'value'</td>
|
|
</tr>
|
|
<tr>
|
|
<td>treeNodeLabelProp</td>
|
|
<td>作为显示的prop设置</td>
|
|
<td>String</td>
|
|
<td>'title'</td>
|
|
</tr>
|
|
<tr>
|
|
<td>treeData</td>
|
|
<td>treeNodes数据,如果设置则不需要手动构造TreeNode节点(如果value在整个树范围内不唯一,需要设置<code>key</code>其值为整个树范围内的唯一id</td>
|
|
<td>array<{value, label, children}></td>
|
|
<td>[]</td>
|
|
</tr>
|
|
<tr>
|
|
<td>loadData</td>
|
|
<td>异步加载数据</td>
|
|
<td>function(node)</td>
|
|
<td>-</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h3 id="treenode-props">TreeNode props<a href="#treenode-props" class="anchor">#</a> </h3><blockquote>
|
|
<p>建议使用 treeData 来代替 TreeNode,免去手工构造麻烦</p>
|
|
</blockquote>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>参数</th>
|
|
<th>说明</th>
|
|
<th>类型</th>
|
|
<th>默认值</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>disabled</td>
|
|
<td>是否禁用</td>
|
|
<td>Boolean</td>
|
|
<td>false</td>
|
|
</tr>
|
|
<tr>
|
|
<td>key</td>
|
|
<td>此项必须设置(其值在整个树范围内唯一)</td>
|
|
<td>String</td>
|
|
<td>-</td>
|
|
</tr>
|
|
<tr>
|
|
<td>value</td>
|
|
<td>默认根据此属性值进行筛选</td>
|
|
<td>String</td>
|
|
<td>-</td>
|
|
</tr>
|
|
<tr>
|
|
<td>title</td>
|
|
<td>树节点显示的内容</td>
|
|
<td>String</td>
|
|
<td>'---'</td>
|
|
</tr>
|
|
<tr>
|
|
<td>isLeaf</td>
|
|
<td>是否是叶子节点</td>
|
|
<td>bool</td>
|
|
<td>false</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
</article>
|
|
<h2 class="component-demos">
|
|
代码演示
|
|
<i class="anticon anticon-appstore icon-all" title="展开全部代码"></i>
|
|
</h2>
|
|
<div class="code-boxes">
|
|
<div class="code-boxes-col-2-1"><div class="code-box" id="select-demo-basic">
|
|
<div class="code-box-demo">
|
|
<div id="components-tree-select-demo-basic"></div>
|
|
<script>mountNode = document.getElementById('components-tree-select-demo-basic');</script>
|
|
<script>(function(){'use strict';
|
|
|
|
var _antd = require('antd');
|
|
|
|
var TreeNode = _antd.TreeSelect.TreeNode;
|
|
|
|
var Demo = React.createClass({
|
|
displayName: 'Demo',
|
|
getInitialState: function getInitialState() {
|
|
return {
|
|
value: ''
|
|
};
|
|
},
|
|
onChange: function onChange(value) {
|
|
console.log(arguments);
|
|
this.setState({ value: value });
|
|
},
|
|
render: function render() {
|
|
return React.createElement(
|
|
_antd.TreeSelect,
|
|
{ style: { width: 300 },
|
|
value: this.state.value,
|
|
dropdownStyle: { maxHeight: 400, overflow: 'auto' },
|
|
placeholder: '请选择',
|
|
allowClear: true,
|
|
treeDefaultExpandAll: true,
|
|
onChange: this.onChange },
|
|
React.createElement(
|
|
TreeNode,
|
|
{ value: 'parent 1', title: 'parent 1', key: '0-1' },
|
|
React.createElement(
|
|
TreeNode,
|
|
{ value: 'parent 1-0', title: 'parent 1-0', key: '0-1-1' },
|
|
React.createElement(TreeNode, { value: 'leaf1', title: 'my leaf', key: 'random' }),
|
|
React.createElement(TreeNode, { value: 'leaf2', title: 'your leaf', key: 'random1' })
|
|
),
|
|
React.createElement(
|
|
TreeNode,
|
|
{ value: 'parent 1-1', title: 'parent 1-1', key: 'random2' },
|
|
React.createElement(TreeNode, { value: 'sss', title: React.createElement(
|
|
'b',
|
|
{ style: { color: '#08c' } },
|
|
'sss'
|
|
), key: 'random3' })
|
|
)
|
|
)
|
|
);
|
|
}
|
|
});
|
|
|
|
ReactDOM.render(React.createElement(Demo, null), mountNode);})()</script><div class="highlight"><pre><code class="javascript"><span class="hljs-keyword">import</span> { TreeSelect } <span class="hljs-keyword">from</span> <span class="hljs-string">'antd'</span>;
|
|
<span class="hljs-keyword">const</span> TreeNode = TreeSelect.TreeNode;
|
|
|
|
<span class="hljs-keyword">const</span> Demo = React.createClass({
|
|
getInitialState() {
|
|
<span class="hljs-keyword">return</span> {
|
|
value: <span class="hljs-string">''</span>,
|
|
};
|
|
},
|
|
onChange(value) {
|
|
<span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">arguments</span>);
|
|
<span class="hljs-keyword">this</span>.setState({ value });
|
|
},
|
|
render() {
|
|
<span class="hljs-keyword">return</span> (
|
|
<span class="xml"><span class="hljs-tag"><<span class="hljs-title">TreeSelect</span> <span class="hljs-attribute">style</span>=<span class="hljs-value">{{</span> <span class="hljs-attribute">width:</span> <span class="hljs-attribute">300</span> }}
|
|
<span class="hljs-attribute">value</span>=<span class="hljs-value">{this.state.value}</span>
|
|
<span class="hljs-attribute">dropdownStyle</span>=<span class="hljs-value">{{</span> <span class="hljs-attribute">maxHeight:</span> <span class="hljs-attribute">400</span>, <span class="hljs-attribute">overflow:</span> '<span class="hljs-attribute">auto</span>' }}
|
|
<span class="hljs-attribute">placeholder</span>=<span class="hljs-value">"请选择"</span>
|
|
<span class="hljs-attribute">allowClear</span>
|
|
<span class="hljs-attribute">treeDefaultExpandAll</span>
|
|
<span class="hljs-attribute">onChange</span>=<span class="hljs-value">{this.onChange}</span>></span>
|
|
<span class="hljs-tag"><<span class="hljs-title">TreeNode</span> <span class="hljs-attribute">value</span>=<span class="hljs-value">"parent 1"</span> <span class="hljs-attribute">title</span>=<span class="hljs-value">"parent 1"</span> <span class="hljs-attribute">key</span>=<span class="hljs-value">"0-1"</span>></span>
|
|
<span class="hljs-tag"><<span class="hljs-title">TreeNode</span> <span class="hljs-attribute">value</span>=<span class="hljs-value">"parent 1-0"</span> <span class="hljs-attribute">title</span>=<span class="hljs-value">"parent 1-0"</span> <span class="hljs-attribute">key</span>=<span class="hljs-value">"0-1-1"</span>></span>
|
|
<span class="hljs-tag"><<span class="hljs-title">TreeNode</span> <span class="hljs-attribute">value</span>=<span class="hljs-value">"leaf1"</span> <span class="hljs-attribute">title</span>=<span class="hljs-value">"my leaf"</span> <span class="hljs-attribute">key</span>=<span class="hljs-value">"random"</span> /></span>
|
|
<span class="hljs-tag"><<span class="hljs-title">TreeNode</span> <span class="hljs-attribute">value</span>=<span class="hljs-value">"leaf2"</span> <span class="hljs-attribute">title</span>=<span class="hljs-value">"your leaf"</span> <span class="hljs-attribute">key</span>=<span class="hljs-value">"random1"</span> /></span>
|
|
<span class="hljs-tag"></<span class="hljs-title">TreeNode</span>></span>
|
|
<span class="hljs-tag"><<span class="hljs-title">TreeNode</span> <span class="hljs-attribute">value</span>=<span class="hljs-value">"parent 1-1"</span> <span class="hljs-attribute">title</span>=<span class="hljs-value">"parent 1-1"</span> <span class="hljs-attribute">key</span>=<span class="hljs-value">"random2"</span>></span>
|
|
<span class="hljs-tag"><<span class="hljs-title">TreeNode</span> <span class="hljs-attribute">value</span>=<span class="hljs-value">"sss"</span> <span class="hljs-attribute">title</span>=<span class="hljs-value">{<b</span> <span class="hljs-attribute">style</span>=<span class="hljs-value">{{</span> <span class="hljs-attribute">color:</span> '#<span class="hljs-attribute">08c</span>' }}></span>sss<span class="hljs-tag"></<span class="hljs-title">b</span>></span>} key="random3" />
|
|
<span class="hljs-tag"></<span class="hljs-title">TreeNode</span>></span>
|
|
<span class="hljs-tag"></<span class="hljs-title">TreeNode</span>></span>
|
|
<span class="hljs-tag"></<span class="hljs-title">TreeSelect</span>></span>
|
|
)</span>;
|
|
},
|
|
});
|
|
|
|
ReactDOM.render(<span class="xml"><span class="hljs-tag"><<span class="hljs-title">Demo</span> /></span>, mountNode);</span></code></pre></div>
|
|
</div>
|
|
<div class="code-box-meta markdown">
|
|
<div class="code-box-title">
|
|
<a href="#select-demo-basic">基本</a>
|
|
</div>
|
|
<p>最简单的用法。</p>
|
|
<span class="collapse anticon anticon-circle-o-right" unselectable="none"></span>
|
|
</div>
|
|
</div><div class="code-box" id="select-demo-checkable">
|
|
<div class="code-box-demo">
|
|
<div id="components-tree-select-demo-checkable"></div>
|
|
<script>mountNode = document.getElementById('components-tree-select-demo-checkable');</script>
|
|
<script>(function(){'use strict';
|
|
|
|
var _antd = require('antd');
|
|
|
|
var treeData = [{
|
|
label: '节点一',
|
|
value: '0-0',
|
|
key: '0-0',
|
|
children: [{
|
|
label: '子节点一',
|
|
value: '0-0-0',
|
|
key: '0-0-0'
|
|
}, {
|
|
label: '子节点二',
|
|
value: '0-0-1',
|
|
key: '0-0-1'
|
|
}]
|
|
}, {
|
|
label: '节点二',
|
|
value: '0-1',
|
|
key: '0-1',
|
|
children: [{
|
|
label: '子节点三',
|
|
value: '0-1-0',
|
|
key: '0-1-0'
|
|
}, {
|
|
label: '子节点四',
|
|
value: '0-1-1',
|
|
key: '0-1-1'
|
|
}]
|
|
}];
|
|
|
|
var Demo = React.createClass({
|
|
displayName: 'Demo',
|
|
getInitialState: function getInitialState() {
|
|
return {
|
|
value: ['0-0-0']
|
|
};
|
|
},
|
|
onChange: function onChange(value) {
|
|
console.log('onChange ', value, arguments);
|
|
this.setState({ value: value });
|
|
},
|
|
render: function render() {
|
|
var tProps = {
|
|
treeData: treeData,
|
|
value: this.state.value,
|
|
onChange: this.onChange,
|
|
multiple: true,
|
|
treeCheckable: true,
|
|
searchPlaceholder: '请选择',
|
|
style: {
|
|
width: 300
|
|
}
|
|
};
|
|
return React.createElement(_antd.TreeSelect, tProps);
|
|
}
|
|
});
|
|
|
|
ReactDOM.render(React.createElement(Demo, null), mountNode);})()</script><div class="highlight"><pre><code class="javascript"><span class="hljs-keyword">import</span> { TreeSelect } <span class="hljs-keyword">from</span> <span class="hljs-string">'antd'</span>;
|
|
|
|
<span class="hljs-keyword">const</span> treeData = [{
|
|
label: <span class="hljs-string">'节点一'</span>,
|
|
value: <span class="hljs-string">'0-0'</span>,
|
|
key: <span class="hljs-string">'0-0'</span>,
|
|
children: [{
|
|
label: <span class="hljs-string">'子节点一'</span>,
|
|
value: <span class="hljs-string">'0-0-0'</span>,
|
|
key: <span class="hljs-string">'0-0-0'</span>,
|
|
}, {
|
|
label: <span class="hljs-string">'子节点二'</span>,
|
|
value: <span class="hljs-string">'0-0-1'</span>,
|
|
key: <span class="hljs-string">'0-0-1'</span>,
|
|
}],
|
|
}, {
|
|
label: <span class="hljs-string">'节点二'</span>,
|
|
value: <span class="hljs-string">'0-1'</span>,
|
|
key: <span class="hljs-string">'0-1'</span>,
|
|
children: [{
|
|
label: <span class="hljs-string">'子节点三'</span>,
|
|
value: <span class="hljs-string">'0-1-0'</span>,
|
|
key: <span class="hljs-string">'0-1-0'</span>,
|
|
}, {
|
|
label: <span class="hljs-string">'子节点四'</span>,
|
|
value: <span class="hljs-string">'0-1-1'</span>,
|
|
key: <span class="hljs-string">'0-1-1'</span>,
|
|
}],
|
|
}];
|
|
|
|
<span class="hljs-keyword">const</span> Demo = React.createClass({
|
|
getInitialState() {
|
|
<span class="hljs-keyword">return</span> {
|
|
value: [<span class="hljs-string">'0-0-0'</span>],
|
|
};
|
|
},
|
|
onChange(value) {
|
|
<span class="hljs-built_in">console</span>.log(<span class="hljs-string">'onChange '</span>, value, <span class="hljs-built_in">arguments</span>);
|
|
<span class="hljs-keyword">this</span>.setState({ value });
|
|
},
|
|
render() {
|
|
<span class="hljs-keyword">const</span> tProps = {
|
|
treeData,
|
|
value: <span class="hljs-keyword">this</span>.state.value,
|
|
onChange: <span class="hljs-keyword">this</span>.onChange,
|
|
multiple: <span class="hljs-literal">true</span>,
|
|
treeCheckable: <span class="hljs-literal">true</span>,
|
|
searchPlaceholder: <span class="hljs-string">'请选择'</span>,
|
|
style: {
|
|
width: <span class="hljs-number">300</span>,
|
|
},
|
|
};
|
|
<span class="hljs-keyword">return</span> <span class="xml"><span class="hljs-tag"><<span class="hljs-title">TreeSelect</span> {<span class="hljs-attribute">...tProps</span>} /></span>;</span>
|
|
},
|
|
});
|
|
|
|
ReactDOM.render(<span class="xml"><span class="hljs-tag"><<span class="hljs-title">Demo</span> /></span>, mountNode);</span></code></pre></div>
|
|
</div>
|
|
<div class="code-box-meta markdown">
|
|
<div class="code-box-title">
|
|
<a href="#select-demo-checkable">多选</a>
|
|
</div>
|
|
<p>多选和勾选框功能。</p>
|
|
<span class="collapse anticon anticon-circle-o-right" unselectable="none"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="code-boxes-col-2-1"><div class="code-box" id="select-demo-treedata">
|
|
<div class="code-box-demo">
|
|
<div id="components-tree-select-demo-treedata"></div>
|
|
<script>mountNode = document.getElementById('components-tree-select-demo-treedata');</script>
|
|
<script>(function(){'use strict';
|
|
|
|
var _antd = require('antd');
|
|
|
|
var treeData = [{
|
|
label: '节点一',
|
|
value: '0-0',
|
|
key: '0-0',
|
|
children: [{
|
|
label: '子节点一',
|
|
value: '0-0-1',
|
|
key: '0-0-1'
|
|
}, {
|
|
label: '子节点二',
|
|
value: '0-0-2',
|
|
key: '0-0-2'
|
|
}]
|
|
}, {
|
|
label: '节点二',
|
|
value: '0-1',
|
|
key: '0-1'
|
|
}];
|
|
|
|
var Demo = React.createClass({
|
|
displayName: 'Demo',
|
|
getInitialState: function getInitialState() {
|
|
return {
|
|
value: ''
|
|
};
|
|
},
|
|
onChange: function onChange(value) {
|
|
console.log(arguments);
|
|
this.setState({ value: value });
|
|
},
|
|
render: function render() {
|
|
return React.createElement(_antd.TreeSelect, { style: { width: 300 },
|
|
value: this.state.value,
|
|
dropdownStyle: { maxHeight: 400, overflow: 'auto' },
|
|
treeData: treeData,
|
|
placeholder: '请选择',
|
|
treeDefaultExpandAll: true,
|
|
onChange: this.onChange });
|
|
}
|
|
});
|
|
|
|
ReactDOM.render(React.createElement(Demo, null), mountNode);})()</script><div class="highlight"><pre><code class="javascript"><span class="hljs-keyword">import</span> { TreeSelect } <span class="hljs-keyword">from</span> <span class="hljs-string">'antd'</span>;
|
|
|
|
<span class="hljs-keyword">const</span> treeData = [{
|
|
label: <span class="hljs-string">'节点一'</span>,
|
|
value: <span class="hljs-string">'0-0'</span>,
|
|
key: <span class="hljs-string">'0-0'</span>,
|
|
children: [{
|
|
label: <span class="hljs-string">'子节点一'</span>,
|
|
value: <span class="hljs-string">'0-0-1'</span>,
|
|
key: <span class="hljs-string">'0-0-1'</span>,
|
|
}, {
|
|
label: <span class="hljs-string">'子节点二'</span>,
|
|
value: <span class="hljs-string">'0-0-2'</span>,
|
|
key: <span class="hljs-string">'0-0-2'</span>,
|
|
}],
|
|
}, {
|
|
label: <span class="hljs-string">'节点二'</span>,
|
|
value: <span class="hljs-string">'0-1'</span>,
|
|
key: <span class="hljs-string">'0-1'</span>,
|
|
}];
|
|
|
|
<span class="hljs-keyword">const</span> Demo = React.createClass({
|
|
getInitialState() {
|
|
<span class="hljs-keyword">return</span> {
|
|
value: <span class="hljs-string">''</span>,
|
|
};
|
|
},
|
|
onChange(value) {
|
|
<span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">arguments</span>);
|
|
<span class="hljs-keyword">this</span>.setState({ value });
|
|
},
|
|
render() {
|
|
<span class="hljs-keyword">return</span> (
|
|
<span class="xml"><span class="hljs-tag"><<span class="hljs-title">TreeSelect</span> <span class="hljs-attribute">style</span>=<span class="hljs-value">{{</span> <span class="hljs-attribute">width:</span> <span class="hljs-attribute">300</span> }}
|
|
<span class="hljs-attribute">value</span>=<span class="hljs-value">{this.state.value}</span>
|
|
<span class="hljs-attribute">dropdownStyle</span>=<span class="hljs-value">{{</span> <span class="hljs-attribute">maxHeight:</span> <span class="hljs-attribute">400</span>, <span class="hljs-attribute">overflow:</span> '<span class="hljs-attribute">auto</span>' }}
|
|
<span class="hljs-attribute">treeData</span>=<span class="hljs-value">{treeData}</span>
|
|
<span class="hljs-attribute">placeholder</span>=<span class="hljs-value">"请选择"</span>
|
|
<span class="hljs-attribute">treeDefaultExpandAll</span>
|
|
<span class="hljs-attribute">onChange</span>=<span class="hljs-value">{this.onChange}</span> /></span>
|
|
)</span>;
|
|
},
|
|
});
|
|
|
|
ReactDOM.render(<span class="xml"><span class="hljs-tag"><<span class="hljs-title">Demo</span> /></span>, mountNode);</span></code></pre></div>
|
|
</div>
|
|
<div class="code-box-meta markdown">
|
|
<div class="code-box-title">
|
|
<a href="#select-demo-treedata">从数据直接生成</a>
|
|
</div>
|
|
<p>使用 <code>treeData</code> 把 JSON 数据直接生成树结构。</p>
|
|
<span class="collapse anticon anticon-circle-o-right" unselectable="none"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<ul class="toc demos-anchor">
|
|
<li>
|
|
<a title="基本" href="#select-demo-basic">
|
|
<span>基本</span>
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a title="从数据直接生成" href="#select-demo-treedata">
|
|
<span>从数据直接生成</span>
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a title="多选" href="#select-demo-checkable">
|
|
<span>多选</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
<div class="api-container markdown"></div>
|
|
</section>
|
|
|
|
</div><footer id="footer">
|
|
<ul>
|
|
<li>
|
|
<h2>GitHub</h2>
|
|
<a target="_blank "href="https://github.com/ant-design/ant-design">仓库</a>
|
|
<a target="_blank" href="https://github.com/ant-design/antd-init">脚手架</a>
|
|
<a target="_blank" href="http://ant-tool.github.io/">开发工具</a>
|
|
</li>
|
|
<li>
|
|
<h2>关于我们</h2>
|
|
<a target="_blank" href="https://github.com/ant-ued/blog">博客 - Ant UED</a>
|
|
</li>
|
|
<li>
|
|
<h2>联系我们</h2>
|
|
<a target="_blank" href="https://github.com/ant-design/ant-design/issues">反馈和建议</a>
|
|
<a target="_blank" href="https://gitter.im/ant-design/ant-design">讨论</a>
|
|
<a target="_blank" href="http://dwz.cn/2AF9ao">报告 Bug</a>
|
|
</li>
|
|
<li>
|
|
<div>©2015 蚂蚁金服体验技术部出品</div>
|
|
<div>文档版本:<span id="versions-select"></span></div>
|
|
</li>
|
|
</ul>
|
|
</footer>
|
|
<script data-no-instant>
|
|
if (!location.port) {
|
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
|
ga('create', 'UA-72788897-1', 'auto');
|
|
ga('send', 'pageview');
|
|
InstantClick.on('change', function() {
|
|
ga('send', 'pageview', location.pathname + location.search);
|
|
});
|
|
}
|
|
</script>
|
|
<script data-no-instant>
|
|
InstantClick.on('change', function() {
|
|
InstantClickChangeFns.forEach(function(fn) {
|
|
fn();
|
|
});
|
|
});
|
|
InstantClick.init();
|
|
</script>
|
|
</body>
|
|
</html> |