mirror of
https://github.com/wahyd4/ant-design.git
synced 2026-08-15 15:56:33 +10:00
246 lines
75 KiB
HTML
246 lines
75 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="description" content="An enterprise-class UI design language and React-based implementation">
|
|
<meta name="description" content="A set of high-quality React components">
|
|
<meta name="description" content="One of best React UI library for enterprise background">
|
|
<title>Ant Design - A UI Design Language</title>
|
|
<link rel="icon" href="https://t.alipayobjects.com/images/T1QUBfXo4fXXXXXXXX.png" type="image/x-icon">
|
|
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.cnpmjs.org/css?family=Lato:400,700|Raleway"/>
|
|
<link rel="stylesheet" type="text/css" href="/index.css"/>
|
|
<style id="nprogress-style">
|
|
#nprogress { display: none }
|
|
</style>
|
|
<!--[if lte IE 10]>
|
|
<script
|
|
src="https://as.alipayobjects.com/g/component/??console-polyfill/0.2.2/index.js,media-match/2.0.2/media.match.min.js"></script>
|
|
<![endif]-->
|
|
<script>
|
|
if (!window.Intl) {
|
|
document.writeln('<script src="https://as.alipayobjects.com/g/component/intl/1.0.1/??Intl.js,locale-data/jsonp/en.js,locale-data/jsonp/zh.js">' + '<' + '/script>');
|
|
}
|
|
if (!window.Promise) {
|
|
document.writeln('<script src="https://as.alipayobjects.com/g/component/es6-promise/3.2.2/es6-promise.min.js"' + '>' + '<' + '/' + 'script>');
|
|
}
|
|
</script>
|
|
<script>
|
|
// Enable Google Analytics
|
|
if (!location.port) {
|
|
/* eslint-disable */
|
|
(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');
|
|
/* eslint-enable */
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div id="react-content">
|
|
<div class="page-wrapper" data-reactroot="" data-reactid="1" data-react-checksum="-1290115298"><header id="header" class="clearfix" data-reactid="2"><div class="ant-row" data-reactid="3"><div class="ant-col-xs-24 ant-col-sm-24 ant-col-md-6 ant-col-lg-4" data-reactid="4"><a id="logo" href="/" data-reactid="5"><img alt="logo" src="https://t.alipayobjects.com/images/rmsweb/T1B9hfXcdvXXXXXXXX.svg" data-reactid="6"/><span data-reactid="7">Ant Design</span></a></div><div class="ant-col-xs-0 ant-col-sm-0 ant-col-md-18 ant-col-lg-20" data-reactid="8"><div id="search-box" data-reactid="9"><div class="ant-select ant-select-combobox ant-select-enabled" data-reactid="10"><div class="ant-select-selection
|
|
ant-select-selection--single" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false" data-reactid="11"><div class="ant-select-selection__rendered" data-reactid="12"><div style="display:block;user-select:none;-webkit-user-select:none;" unselectable="unselectable" class="ant-select-selection__placeholder" data-reactid="13">Search Components...</div><ul data-reactid="14"><li class="ant-select-search ant-select-search--inline" data-reactid="15"><div class="ant-select-search__field__wrap" data-reactid="16"><input value="" class="ant-select-search__field" data-reactid="17"/><span class="ant-select-search__field__mirror" data-reactid="18"></span></div></li></ul></div><span class="ant-select-arrow" style="user-select:none;-webkit-user-select:none;" unselectable="unselectable" data-reactid="19"><b data-reactid="20"></b></span></div></div></div><button type="button" class="ant-btn ant-btn-ghost ant-btn-sm lang" data-reactid="21"><span data-reactid="22">中文</span></button><ul class="ant-menu ant-menu-horizontal ant-menu-light ant-menu-root" role="menu" aria-activedescendant="" id="nav" tabindex="0" data-reactid="23"><li class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="24"><a href="/" data-reactid="25"><span data-reactid="26">Home</span></a></li><li class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="27"><a href="/docs/spec/introduce" data-reactid="28"><span data-reactid="29">Specification</span></a></li><li class="ant-menu-item-selected ant-menu-item" role="menuitem" aria-selected="true" data-reactid="30"><a href="/docs/react/introduce" data-reactid="31"><span data-reactid="32">Components</span></a></li><li class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="33"><a href="/docs/pattern/navigation" data-reactid="34"><span data-reactid="35">Pattern</span></a></li><li class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="36"><a href="/docs/practice/cases" data-reactid="37"><span data-reactid="38">Practice</span></a></li><li class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="39"><a href="/docs/resource/download" data-reactid="40"><span data-reactid="41">Resource</span></a></li></ul></div></div></header><div class="main-wrapper" data-reactid="42"><div class="ant-row" data-reactid="43"><div class="ant-col-xs-24 ant-col-sm-24 ant-col-md-6 ant-col-lg-4" data-reactid="44"><ul class="ant-menu ant-menu-inline aside-container ant-menu-light ant-menu-root" role="menu" aria-activedescendant="" tabindex="0" data-reactid="45"><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="46"><a href="/docs/react/introduce" data-reactid="47">Ant Design of React</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="48"><a href="/docs/react/getting-started" data-reactid="49">Getting Started</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="50"><a href="/docs/react/practical-projects" data-reactid="51">Real project with dva</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="52"><a href="/docs/react/use-with-create-react-app" data-reactid="53">Use in create-react-app</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="54"><a href="/docs/react/customize-theme" data-reactid="55">Customize Theme</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="56"><a href="/changelog" data-reactid="57">Change Log</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="58"><a href="/docs/react/recommendation" data-reactid="59">Third-Party Library</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="60"><a href="https://github.com/websemantics/awesome-ant-design" target="_blank" rel="noopener noreferrer" class="menu-item-link-outside" data-reactid="61"><!-- react-text: 62 -->Awesome Ant Design<!-- /react-text --><!-- react-text: 63 --> <!-- /react-text --><i class="anticon anticon-export" data-reactid="64"></i></a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="65"><a href="//github.com/ant-design/intl-example" target="_blank" rel="noopener noreferrer" class="menu-item-link-outside" data-reactid="66"><!-- react-text: 67 -->i18n Solution<!-- /react-text --><!-- react-text: 68 --> <!-- /react-text --><i class="anticon anticon-export" data-reactid="69"></i></a></li><li class="ant-menu-submenu-inline ant-menu-submenu-open ant-menu-submenu-selected ant-menu-submenu" data-reactid="70"><div style="padding-left:24px;" class="ant-menu-submenu-title" aria-expanded="true" aria-owns="Components$Menu" aria-haspopup="true" data-reactid="71"><h4 data-reactid="72">Components</h4></div><ul class="ant-menu ant-menu-inline ant-menu-sub" role="menu" aria-activedescendant="" id="Components$Menu" data-reactid="73"><li class=" ant-menu-item-group" data-reactid="74"><div class="ant-menu-item-group-title" data-reactid="75">General</div><ul class="ant-menu-item-group-list" data-reactid="76"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="77"><a href="/components/button/" data-reactid="78"><span data-reactid="79">Button</span><span class="chinese" data-reactid="80"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="81"><a href="/components/icon/" data-reactid="82"><span data-reactid="83">Icon</span><span class="chinese" data-reactid="84"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="85"><div class="ant-menu-item-group-title" data-reactid="86">Layout</div><ul class="ant-menu-item-group-list" data-reactid="87"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="88"><a href="/components/grid/" data-reactid="89"><span data-reactid="90">Grid</span><span class="chinese" data-reactid="91"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="92"><a href="/components/layout/" data-reactid="93"><span data-reactid="94">Layout</span><span class="chinese" data-reactid="95"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="96"><div class="ant-menu-item-group-title" data-reactid="97">Navigation</div><ul class="ant-menu-item-group-list" data-reactid="98"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="99"><a href="/components/affix/" data-reactid="100"><span data-reactid="101">Affix</span><span class="chinese" data-reactid="102"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="103"><a href="/components/back-top/" data-reactid="104"><span data-reactid="105">BackTop</span><span class="chinese" data-reactid="106"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="107"><a href="/components/breadcrumb/" data-reactid="108"><span data-reactid="109">Breadcrumb</span><span class="chinese" data-reactid="110"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="111"><a href="/components/dropdown/" data-reactid="112"><span data-reactid="113">Dropdown</span><span class="chinese" data-reactid="114"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="115"><a href="/components/menu/" data-reactid="116"><span data-reactid="117">Menu</span><span class="chinese" data-reactid="118"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="119"><a href="/components/pagination/" data-reactid="120"><span data-reactid="121">Pagination</span><span class="chinese" data-reactid="122"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="123"><a href="/components/steps/" data-reactid="124"><span data-reactid="125">Steps</span><span class="chinese" data-reactid="126"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="127"><a href="/components/tabs/" data-reactid="128"><span data-reactid="129">Tabs</span><span class="chinese" data-reactid="130"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="131"><div class="ant-menu-item-group-title" data-reactid="132">Data Entry</div><ul class="ant-menu-item-group-list" data-reactid="133"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="134"><a href="/components/auto-complete/" data-reactid="135"><span data-reactid="136">AutoComplete</span><span class="chinese" data-reactid="137"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="138"><a href="/components/checkbox/" data-reactid="139"><span data-reactid="140">Checkbox</span><span class="chinese" data-reactid="141"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="142"><a href="/components/cascader/" data-reactid="143"><span data-reactid="144">Cascader</span><span class="chinese" data-reactid="145"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="146"><a href="/components/date-picker/" data-reactid="147"><span data-reactid="148">DatePicker</span><span class="chinese" data-reactid="149"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="150"><a href="/components/form/" data-reactid="151"><span data-reactid="152">Form</span><span class="chinese" data-reactid="153"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="154"><a href="/components/input/" data-reactid="155"><span data-reactid="156">Input</span><span class="chinese" data-reactid="157"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="158"><a href="/components/input-number/" data-reactid="159"><span data-reactid="160">InputNumber</span><span class="chinese" data-reactid="161"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="162"><a href="/components/mention/" data-reactid="163"><span data-reactid="164">Mention</span><span class="chinese" data-reactid="165"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="166"><a href="/components/radio/" data-reactid="167"><span data-reactid="168">Radio</span><span class="chinese" data-reactid="169"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="170"><a href="/components/rate/" data-reactid="171"><span data-reactid="172">Rate</span><span class="chinese" data-reactid="173"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="174"><a href="/components/select/" data-reactid="175"><span data-reactid="176">Select</span><span class="chinese" data-reactid="177"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="178"><a href="/components/slider/" data-reactid="179"><span data-reactid="180">Slider</span><span class="chinese" data-reactid="181"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="182"><a href="/components/switch/" data-reactid="183"><span data-reactid="184">Switch</span><span class="chinese" data-reactid="185"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="186"><a href="/components/time-picker/" data-reactid="187"><span data-reactid="188">TimePicker</span><span class="chinese" data-reactid="189"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="190"><a href="/components/transfer/" data-reactid="191"><span data-reactid="192">Transfer</span><span class="chinese" data-reactid="193"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="194"><a href="/components/tree-select/" data-reactid="195"><span data-reactid="196">TreeSelect</span><span class="chinese" data-reactid="197"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="198"><a href="/components/upload/" data-reactid="199"><span data-reactid="200">Upload</span><span class="chinese" data-reactid="201"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="202"><div class="ant-menu-item-group-title" data-reactid="203">Data Display</div><ul class="ant-menu-item-group-list" data-reactid="204"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="205"><a href="/components/badge/" data-reactid="206"><span data-reactid="207">Badge</span><span class="chinese" data-reactid="208"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="209"><a href="/components/card/" data-reactid="210"><span data-reactid="211">Card</span><span class="chinese" data-reactid="212"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="213"><a href="/components/carousel/" data-reactid="214"><span data-reactid="215">Carousel</span><span class="chinese" data-reactid="216"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="217"><a href="/components/collapse/" data-reactid="218"><span data-reactid="219">Collapse</span><span class="chinese" data-reactid="220"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="221"><a href="/components/calendar/" data-reactid="222"><span data-reactid="223">Calendar</span><span class="chinese" data-reactid="224"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="225"><a href="/components/popover/" data-reactid="226"><span data-reactid="227">Popover</span><span class="chinese" data-reactid="228"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="229"><a href="/components/table/" data-reactid="230"><span data-reactid="231">Table</span><span class="chinese" data-reactid="232"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="233"><a href="/components/tag/" data-reactid="234"><span data-reactid="235">Tag</span><span class="chinese" data-reactid="236"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="237"><a href="/components/timeline/" data-reactid="238"><span data-reactid="239">Timeline</span><span class="chinese" data-reactid="240"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="241"><a href="/components/tooltip/" data-reactid="242"><span data-reactid="243">Tooltip</span><span class="chinese" data-reactid="244"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="245"><a href="/components/tree/" data-reactid="246"><span data-reactid="247">Tree</span><span class="chinese" data-reactid="248"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="249"><div class="ant-menu-item-group-title" data-reactid="250">Feedback</div><ul class="ant-menu-item-group-list" data-reactid="251"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="252"><a href="/components/alert/" data-reactid="253"><span data-reactid="254">Alert</span><span class="chinese" data-reactid="255"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="256"><a href="/components/message/" data-reactid="257"><span data-reactid="258">Message</span><span class="chinese" data-reactid="259"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="260"><a href="/components/modal/" data-reactid="261"><span data-reactid="262">Modal</span><span class="chinese" data-reactid="263"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="264"><a href="/components/notification/" data-reactid="265"><span data-reactid="266">Notification</span><span class="chinese" data-reactid="267"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="268"><a href="/components/popconfirm/" data-reactid="269"><span data-reactid="270">Popconfirm</span><span class="chinese" data-reactid="271"></span></a></li><li style="padding-left:48px;" class="ant-menu-item-selected ant-menu-item" role="menuitem" aria-selected="true" data-reactid="272"><a href="/components/progress/" data-reactid="273"><span data-reactid="274">Progress</span><span class="chinese" data-reactid="275"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="276"><a href="/components/spin/" data-reactid="277"><span data-reactid="278">Spin</span><span class="chinese" data-reactid="279"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="280"><div class="ant-menu-item-group-title" data-reactid="281">Other</div><ul class="ant-menu-item-group-list" data-reactid="282"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="283"><a href="/components/anchor/" data-reactid="284"><span data-reactid="285">Anchor</span><span class="chinese" data-reactid="286"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="287"><a href="/components/locale-provider/" data-reactid="288"><span data-reactid="289">LocaleProvider</span><span class="chinese" data-reactid="290"></span></a></li></ul></li></ul></li></ul></div><div class="main-container ant-col-xs-24 ant-col-sm-24 ant-col-md-18 ant-col-lg-20" data-reactid="291"><article data-reactid="292"><div class="toc-affix" data-reactid="293"><div class="" data-reactid="294"><ul class="toc demos-anchor" data-reactid="295"><li title="Progress bar" data-reactid="296"><a href="#components-progress-demo-line" data-reactid="297">Progress bar</a></li><li title="Circular progress bar" data-reactid="298"><a href="#components-progress-demo-circle" data-reactid="299">Circular progress bar</a></li><li title="Mini size progress bar" data-reactid="300"><a href="#components-progress-demo-line-mini" data-reactid="301">Mini size progress bar</a></li><li title="Mini size circular progress bar" data-reactid="302"><a href="#components-progress-demo-circle-mini" data-reactid="303">Mini size circular progress bar</a></li><li title="Dynamic circular progress bar" data-reactid="304"><a href="#components-progress-demo-circle-dynamic" data-reactid="305">Dynamic circular progress bar</a></li><li title="Dynamic" data-reactid="306"><a href="#components-progress-demo-dynamic" data-reactid="307">Dynamic</a></li><li title="Custom text format" data-reactid="308"><a href="#components-progress-demo-format" data-reactid="309">Custom text format</a></li></ul></div></div><section class="markdown" data-reactid="310"><h1 data-reactid="311"><!-- react-text: 312 -->Progress<!-- /react-text --><a class="edit-button" href="https://github.com/ant-design/ant-design/blob/master/components/progress/index.en-US.md" data-reactid="313"><i class="anticon anticon-edit" data-reactid="314"></i></a></h1><section class="markdown" data-reactid="315"><p data-reactid="316"><!-- react-text: 317 -->To display the current progress of an operation flow.<!-- /react-text --></p><h2 id="When-To-Use" data-reactid="318"><span data-reactid="319"><!-- react-text: 320 -->When To Use<!-- /react-text --></span><a href="#When-To-Use" class="anchor" data-reactid="321">#</a></h2><p data-reactid="322"><!-- react-text: 323 -->If it will take a long time to complete the operation, you can use <!-- /react-text --><code data-reactid="324"><!-- react-text: 325 -->Progress<!-- /react-text --></code><!-- react-text: 326 --> to show the current progress and status.<!-- /react-text --></p><ul data-reactid="327"><li data-reactid="328"><p data-reactid="329"><!-- react-text: 330 -->When an operation will interrupt the current interface, or it needs to run in the background for more than 2 seconds.<!-- /react-text --></p></li><li data-reactid="331"><p data-reactid="332"><!-- react-text: 333 -->When you need to display the completion percentage of an operation.<!-- /react-text --></p></li></ul></section><h2 data-reactid="334"><span data-reactid="335">Examples</span><i class="anticon anticon-appstore code-box-expand-trigger" title="展开全部代码" data-reactid="336"></i></h2></section><div class="ant-row" style="margin-left:-8px;margin-right:-8px;" data-reactid="337"><div style="padding-left:8px;padding-right:8px;" class="ant-col-12 code-boxes-col-2-1" data-reactid="338"><section class="code-box" id="components-progress-demo-line" data-reactid="339"><section class="code-box-demo" data-reactid="340"><div data-reactid="341"><div class="ant-progress ant-progress-line ant-progress-status-normal ant-progress-show-info" data-reactid="342"><div data-reactid="343"><div class="ant-progress-outer" data-reactid="344"><div class="ant-progress-inner" data-reactid="345"><div class="ant-progress-bg" style="width:30%;height:10px;" data-reactid="346"></div></div></div><span class="ant-progress-text" data-reactid="347">30%</span></div></div><div class="ant-progress ant-progress-line ant-progress-status-active ant-progress-show-info" data-reactid="348"><div data-reactid="349"><div class="ant-progress-outer" data-reactid="350"><div class="ant-progress-inner" data-reactid="351"><div class="ant-progress-bg" style="width:50%;height:10px;" data-reactid="352"></div></div></div><span class="ant-progress-text" data-reactid="353">50%</span></div></div><div class="ant-progress ant-progress-line ant-progress-status-exception ant-progress-show-info" data-reactid="354"><div data-reactid="355"><div class="ant-progress-outer" data-reactid="356"><div class="ant-progress-inner" data-reactid="357"><div class="ant-progress-bg" style="width:70%;height:10px;" data-reactid="358"></div></div></div><span class="ant-progress-text" data-reactid="359"><i class="anticon anticon-cross-circle" data-reactid="360"></i></span></div></div><div class="ant-progress ant-progress-line ant-progress-status-success ant-progress-show-info" data-reactid="361"><div data-reactid="362"><div class="ant-progress-outer" data-reactid="363"><div class="ant-progress-inner" data-reactid="364"><div class="ant-progress-bg" style="width:100%;height:10px;" data-reactid="365"></div></div></div><span class="ant-progress-text" data-reactid="366"><i class="anticon anticon-check-circle" data-reactid="367"></i></span></div></div><div class="ant-progress ant-progress-line ant-progress-status-normal" data-reactid="368"><div data-reactid="369"><div class="ant-progress-outer" data-reactid="370"><div class="ant-progress-inner" data-reactid="371"><div class="ant-progress-bg" style="width:50%;height:10px;" data-reactid="372"></div></div></div></div></div></div></section><section class="code-box-meta markdown" data-reactid="373"><div class="code-box-title" data-reactid="374"><a href="#components-progress-demo-line" data-reactid="375">Progress bar</a><a class="edit-button" href="https://github.com/ant-design/ant-design/blob/master/components/progress/demo/line.md" data-reactid="376"><i class="anticon anticon-edit" data-reactid="377"></i></a></div><div data-reactid="378"><p data-reactid="379"><!-- react-text: 380 -->A standard progress bar.<!-- /react-text --></p></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="381"></i></section><section class="highlight-wrapper" data-reactid="382"><div class="highlight" data-reactid="383"><pre class="language-__react" data-reactid="384"><code data-reactid="385">import { Progress } from <span class="token string">'antd'</span><span class="token comment" spellcheck="true">;</span>
|
|
|
|
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span>
|
|
<span class="token operator"><</span>div<span class="token operator">></span>
|
|
<span class="token operator"><</span>Progress percent<span class="token operator">=</span>{<span class="token number">30</span>} <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span>Progress percent<span class="token operator">=</span>{<span class="token number">50</span>} status<span class="token operator">=</span><span class="token string">"active"</span> <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span>Progress percent<span class="token operator">=</span>{<span class="token number">70</span>} status<span class="token operator">=</span><span class="token string">"exception"</span> <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span>Progress percent<span class="token operator">=</span>{<span class="token number">100</span>} <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span>Progress percent<span class="token operator">=</span>{<span class="token number">50</span>} showInfo<span class="token operator">=</span>{<span class="token boolean">false</span>} <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span>
|
|
<span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token comment" spellcheck="true">;</span></code></pre></div></section></section><section class="code-box" id="components-progress-demo-line-mini" data-reactid="386"><section class="code-box-demo" data-reactid="387"><div style="width:170px;" data-reactid="388"><div class="ant-progress ant-progress-line ant-progress-status-normal ant-progress-show-info" data-reactid="389"><div data-reactid="390"><div class="ant-progress-outer" data-reactid="391"><div class="ant-progress-inner" data-reactid="392"><div class="ant-progress-bg" style="width:30%;height:5px;" data-reactid="393"></div></div></div><span class="ant-progress-text" data-reactid="394">30%</span></div></div><div class="ant-progress ant-progress-line ant-progress-status-active ant-progress-show-info" data-reactid="395"><div data-reactid="396"><div class="ant-progress-outer" data-reactid="397"><div class="ant-progress-inner" data-reactid="398"><div class="ant-progress-bg" style="width:50%;height:5px;" data-reactid="399"></div></div></div><span class="ant-progress-text" data-reactid="400">50%</span></div></div><div class="ant-progress ant-progress-line ant-progress-status-exception ant-progress-show-info" data-reactid="401"><div data-reactid="402"><div class="ant-progress-outer" data-reactid="403"><div class="ant-progress-inner" data-reactid="404"><div class="ant-progress-bg" style="width:70%;height:5px;" data-reactid="405"></div></div></div><span class="ant-progress-text" data-reactid="406"><i class="anticon anticon-cross-circle" data-reactid="407"></i></span></div></div><div class="ant-progress ant-progress-line ant-progress-status-success ant-progress-show-info" data-reactid="408"><div data-reactid="409"><div class="ant-progress-outer" data-reactid="410"><div class="ant-progress-inner" data-reactid="411"><div class="ant-progress-bg" style="width:100%;height:5px;" data-reactid="412"></div></div></div><span class="ant-progress-text" data-reactid="413"><i class="anticon anticon-check-circle" data-reactid="414"></i></span></div></div></div></section><section class="code-box-meta markdown" data-reactid="415"><div class="code-box-title" data-reactid="416"><a href="#components-progress-demo-line-mini" data-reactid="417">Mini size progress bar</a><a class="edit-button" href="https://github.com/ant-design/ant-design/blob/master/components/progress/demo/line-mini.md" data-reactid="418"><i class="anticon anticon-edit" data-reactid="419"></i></a></div><div data-reactid="420"><p data-reactid="421"><!-- react-text: 422 -->Appropriate for a narrow area.<!-- /react-text --></p></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="423"></i></section><section class="highlight-wrapper" data-reactid="424"><div class="highlight" data-reactid="425"><pre class="language-__react" data-reactid="426"><code data-reactid="427">import { Progress } from <span class="token string">'antd'</span><span class="token comment" spellcheck="true">;</span>
|
|
|
|
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span>
|
|
<span class="token operator"><</span>div style<span class="token operator">=</span>{{ width<span class="token punctuation">:</span> <span class="token number">170</span> }}<span class="token operator">></span>
|
|
<span class="token operator"><</span>Progress percent<span class="token operator">=</span>{<span class="token number">30</span>} strokeWidth<span class="token operator">=</span>{<span class="token number">5</span>} <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span>Progress percent<span class="token operator">=</span>{<span class="token number">50</span>} strokeWidth<span class="token operator">=</span>{<span class="token number">5</span>} status<span class="token operator">=</span><span class="token string">"active"</span> <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span>Progress percent<span class="token operator">=</span>{<span class="token number">70</span>} strokeWidth<span class="token operator">=</span>{<span class="token number">5</span>} status<span class="token operator">=</span><span class="token string">"exception"</span> <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span>Progress percent<span class="token operator">=</span>{<span class="token number">100</span>} strokeWidth<span class="token operator">=</span>{<span class="token number">5</span>} <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span>
|
|
<span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token comment" spellcheck="true">;</span></code></pre></div></section></section><section class="code-box" id="components-progress-demo-circle-dynamic" data-reactid="428"><section class="code-box-demo" data-reactid="429"><div data-reactid="430"><div class="ant-progress ant-progress-circle ant-progress-status-normal ant-progress-show-info" data-reactid="431"><div class="ant-progress-inner" style="width:132px;height:132px;font-size:27.12px;" data-reactid="432"><svg class="rc-progress-circle " viewBox="0 0 100 100" data-reactid="433"><path class="rc-progress-circle-trail" d="M 50,50 m 0,-47
|
|
a 47,47 0 1 1 0,94
|
|
a 47,47 0 1 1 0,-94" stroke="#f3f3f3" stroke-width="6" fill-opacity="0" data-reactid="434"></path><path class="rc-progress-circle-path" d="M 50,50 m 0,-47
|
|
a 47,47 0 1 1 0,94
|
|
a 47,47 0 1 1 0,-94" stroke-linecap="round" stroke="#108ee9" stroke-width="6" fill-opacity="0" style="stroke-dasharray:295.3097094374406px 295.3097094374406px;stroke-dashoffset:295.3097094374406px;transition:stroke-dashoffset 0.3s ease 0s, stroke 0.3s ease;" data-reactid="435"></path></svg><span class="ant-progress-text" data-reactid="436">0%</span></div></div><div class="ant-btn-group" data-reactid="437"><button type="button" class="ant-btn ant-btn-ghost ant-btn-icon-only" data-reactid="438"><i class="anticon anticon-minus" data-reactid="439"></i></button><button type="button" class="ant-btn ant-btn-ghost ant-btn-icon-only" data-reactid="440"><i class="anticon anticon-plus" data-reactid="441"></i></button></div></div></section><section class="code-box-meta markdown" data-reactid="442"><div class="code-box-title" data-reactid="443"><a href="#components-progress-demo-circle-dynamic" data-reactid="444">Dynamic circular progress bar</a><a class="edit-button" href="https://github.com/ant-design/ant-design/blob/master/components/progress/demo/circle-dynamic.md" data-reactid="445"><i class="anticon anticon-edit" data-reactid="446"></i></a></div><div data-reactid="447"><p data-reactid="448"><!-- react-text: 449 -->A dynamic progress bar is better.<!-- /react-text --></p></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="450"></i></section><section class="highlight-wrapper" data-reactid="451"><div class="highlight" data-reactid="452"><pre class="language-__react" data-reactid="453"><code data-reactid="454">import { Progress<span class="token punctuation">,</span> Button } from <span class="token string">'antd'</span><span class="token comment" spellcheck="true">;</span>
|
|
<span class="token keyword">const</span> ButtonGroup <span class="token operator">=</span> Button<span class="token punctuation">.</span>Group<span class="token comment" spellcheck="true">;</span>
|
|
|
|
<span class="token keyword">const</span> MyProgress <span class="token operator">=</span> React<span class="token punctuation">.</span><span class="token function">createClass</span><span class="token punctuation">(</span>{
|
|
<span class="token function">getInitialState</span><span class="token punctuation">(</span><span class="token punctuation">)</span> {
|
|
return {
|
|
percent<span class="token punctuation">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
}<span class="token comment" spellcheck="true">;</span>
|
|
}<span class="token punctuation">,</span>
|
|
<span class="token function">increase</span><span class="token punctuation">(</span><span class="token punctuation">)</span> {
|
|
let percent <span class="token operator">=</span> this<span class="token punctuation">.</span>state<span class="token punctuation">.</span>percent <span class="token operator">+</span> <span class="token number">10</span><span class="token comment" spellcheck="true">;</span>
|
|
<span class="token keyword">if</span> <span class="token punctuation">(</span>percent <span class="token operator">></span> <span class="token number">100</span><span class="token punctuation">)</span> {
|
|
percent <span class="token operator">=</span> <span class="token number">100</span><span class="token comment" spellcheck="true">;</span>
|
|
}
|
|
this<span class="token punctuation">.</span><span class="token function">setState</span><span class="token punctuation">(</span>{ percent }<span class="token punctuation">)</span><span class="token comment" spellcheck="true">;</span>
|
|
}<span class="token punctuation">,</span>
|
|
<span class="token function">decline</span><span class="token punctuation">(</span><span class="token punctuation">)</span> {
|
|
let percent <span class="token operator">=</span> this<span class="token punctuation">.</span>state<span class="token punctuation">.</span>percent <span class="token operator">-</span> <span class="token number">10</span><span class="token comment" spellcheck="true">;</span>
|
|
<span class="token keyword">if</span> <span class="token punctuation">(</span>percent <span class="token operator"><</span> <span class="token number">0</span><span class="token punctuation">)</span> {
|
|
percent <span class="token operator">=</span> <span class="token number">0</span><span class="token comment" spellcheck="true">;</span>
|
|
}
|
|
this<span class="token punctuation">.</span><span class="token function">setState</span><span class="token punctuation">(</span>{ percent }<span class="token punctuation">)</span><span class="token comment" spellcheck="true">;</span>
|
|
}<span class="token punctuation">,</span>
|
|
<span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span> {
|
|
return <span class="token punctuation">(</span>
|
|
<span class="token operator"><</span>div<span class="token operator">></span>
|
|
<span class="token operator"><</span>Progress type<span class="token operator">=</span><span class="token string">"circle"</span> percent<span class="token operator">=</span>{this<span class="token punctuation">.</span>state<span class="token punctuation">.</span>percent} <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span>ButtonGroup<span class="token operator">></span>
|
|
<span class="token operator"><</span>Button type<span class="token operator">=</span><span class="token string">"ghost"</span> onClick<span class="token operator">=</span>{this<span class="token punctuation">.</span>decline} icon<span class="token operator">=</span><span class="token string">"minus"</span> <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span>Button type<span class="token operator">=</span><span class="token string">"ghost"</span> onClick<span class="token operator">=</span>{this<span class="token punctuation">.</span>increase} icon<span class="token operator">=</span><span class="token string">"plus"</span> <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span><span class="token operator">/</span>ButtonGroup<span class="token operator">></span>
|
|
<span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span>
|
|
<span class="token punctuation">)</span><span class="token comment" spellcheck="true">;</span>
|
|
}<span class="token punctuation">,</span>
|
|
}<span class="token punctuation">)</span><span class="token comment" spellcheck="true">;</span>
|
|
|
|
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span><span class="token operator"><</span>MyProgress <span class="token operator">/</span><span class="token operator">></span><span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token comment" spellcheck="true">;</span></code></pre></div></section></section><section class="code-box" id="components-progress-demo-format" data-reactid="455"><section class="code-box-demo" data-reactid="456"><div data-reactid="457"><div class="ant-progress ant-progress-circle ant-progress-status-normal ant-progress-show-info" data-reactid="458"><div class="ant-progress-inner" style="width:132px;height:132px;font-size:27.12px;" data-reactid="459"><svg class="rc-progress-circle " viewBox="0 0 100 100" data-reactid="460"><path class="rc-progress-circle-trail" d="M 50,50 m 0,-47
|
|
a 47,47 0 1 1 0,94
|
|
a 47,47 0 1 1 0,-94" stroke="#f3f3f3" stroke-width="6" fill-opacity="0" data-reactid="461"></path><path class="rc-progress-circle-path" d="M 50,50 m 0,-47
|
|
a 47,47 0 1 1 0,94
|
|
a 47,47 0 1 1 0,-94" stroke-linecap="round" stroke="#108ee9" stroke-width="6" fill-opacity="0" style="stroke-dasharray:295.3097094374406px 295.3097094374406px;stroke-dashoffset:73.82742735936014px;transition:stroke-dashoffset 0.3s ease 0s, stroke 0.3s ease;" data-reactid="462"></path></svg><span class="ant-progress-text" data-reactid="463">75 Days</span></div></div><div class="ant-progress ant-progress-circle ant-progress-status-success ant-progress-show-info" data-reactid="464"><div class="ant-progress-inner" style="width:132px;height:132px;font-size:27.12px;" data-reactid="465"><svg class="rc-progress-circle " viewBox="0 0 100 100" data-reactid="466"><path class="rc-progress-circle-trail" d="M 50,50 m 0,-47
|
|
a 47,47 0 1 1 0,94
|
|
a 47,47 0 1 1 0,-94" stroke="#f3f3f3" stroke-width="6" fill-opacity="0" data-reactid="467"></path><path class="rc-progress-circle-path" d="M 50,50 m 0,-47
|
|
a 47,47 0 1 1 0,94
|
|
a 47,47 0 1 1 0,-94" stroke-linecap="round" stroke="#87d068" stroke-width="6" fill-opacity="0" style="stroke-dasharray:295.3097094374406px 295.3097094374406px;stroke-dashoffset:0px;transition:stroke-dashoffset 0.3s ease 0s, stroke 0.3s ease;" data-reactid="468"></path></svg><span class="ant-progress-text" data-reactid="469">Done</span></div></div></div><style data-reactid="470">
|
|
.ant-progress-circle,
|
|
.ant-progress-line {
|
|
margin-right: 8px;
|
|
margin-bottom: 8px;
|
|
}
|
|
</style></section><section class="code-box-meta markdown" data-reactid="471"><div class="code-box-title" data-reactid="472"><a href="#components-progress-demo-format" data-reactid="473">Custom text format</a><a class="edit-button" href="https://github.com/ant-design/ant-design/blob/master/components/progress/demo/format.md" data-reactid="474"><i class="anticon anticon-edit" data-reactid="475"></i></a></div><div data-reactid="476"><p data-reactid="477"><!-- react-text: 478 -->You can custom text format by setting <!-- /react-text --><code data-reactid="479"><!-- react-text: 480 -->format<!-- /react-text --></code><!-- react-text: 481 -->.<!-- /react-text --></p></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="482"></i></section><section class="highlight-wrapper" data-reactid="483"><div class="highlight" data-reactid="484"><pre class="language-__react" data-reactid="485"><code data-reactid="486">import { Progress } from <span class="token string">'antd'</span><span class="token comment" spellcheck="true">;</span>
|
|
|
|
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span>
|
|
<span class="token operator"><</span>div<span class="token operator">></span>
|
|
<span class="token operator"><</span>Progress type<span class="token operator">=</span><span class="token string">"circle"</span> percent<span class="token operator">=</span>{<span class="token number">75</span>} format<span class="token operator">=</span>{percent <span class="token operator">=</span><span class="token operator">></span> `${percent} Days`} <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span>Progress type<span class="token operator">=</span><span class="token string">"circle"</span> percent<span class="token operator">=</span>{<span class="token number">100</span>} format<span class="token operator">=</span>{<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token string">'Done'</span>} <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span>
|
|
<span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token comment" spellcheck="true">;</span></code></pre></div></section></section></div><div style="padding-left:8px;padding-right:8px;" class="ant-col-12 code-boxes-col-2-1" data-reactid="487"><section class="code-box" id="components-progress-demo-circle" data-reactid="488"><section class="code-box-demo" data-reactid="489"><div data-reactid="490"><div class="ant-progress ant-progress-circle ant-progress-status-normal ant-progress-show-info" data-reactid="491"><div class="ant-progress-inner" style="width:132px;height:132px;font-size:27.12px;" data-reactid="492"><svg class="rc-progress-circle " viewBox="0 0 100 100" data-reactid="493"><path class="rc-progress-circle-trail" d="M 50,50 m 0,-47
|
|
a 47,47 0 1 1 0,94
|
|
a 47,47 0 1 1 0,-94" stroke="#f3f3f3" stroke-width="6" fill-opacity="0" data-reactid="494"></path><path class="rc-progress-circle-path" d="M 50,50 m 0,-47
|
|
a 47,47 0 1 1 0,94
|
|
a 47,47 0 1 1 0,-94" stroke-linecap="round" stroke="#108ee9" stroke-width="6" fill-opacity="0" style="stroke-dasharray:295.3097094374406px 295.3097094374406px;stroke-dashoffset:73.82742735936014px;transition:stroke-dashoffset 0.3s ease 0s, stroke 0.3s ease;" data-reactid="495"></path></svg><span class="ant-progress-text" data-reactid="496">75%</span></div></div><div class="ant-progress ant-progress-circle ant-progress-status-exception ant-progress-show-info" data-reactid="497"><div class="ant-progress-inner" style="width:132px;height:132px;font-size:27.12px;" data-reactid="498"><svg class="rc-progress-circle " viewBox="0 0 100 100" data-reactid="499"><path class="rc-progress-circle-trail" d="M 50,50 m 0,-47
|
|
a 47,47 0 1 1 0,94
|
|
a 47,47 0 1 1 0,-94" stroke="#f3f3f3" stroke-width="6" fill-opacity="0" data-reactid="500"></path><path class="rc-progress-circle-path" d="M 50,50 m 0,-47
|
|
a 47,47 0 1 1 0,94
|
|
a 47,47 0 1 1 0,-94" stroke-linecap="round" stroke="#ff5500" stroke-width="6" fill-opacity="0" style="stroke-dasharray:295.3097094374406px 295.3097094374406px;stroke-dashoffset:88.59291283123217px;transition:stroke-dashoffset 0.3s ease 0s, stroke 0.3s ease;" data-reactid="501"></path></svg><span class="ant-progress-text" data-reactid="502"><i class="anticon anticon-cross" data-reactid="503"></i></span></div></div><div class="ant-progress ant-progress-circle ant-progress-status-success ant-progress-show-info" data-reactid="504"><div class="ant-progress-inner" style="width:132px;height:132px;font-size:27.12px;" data-reactid="505"><svg class="rc-progress-circle " viewBox="0 0 100 100" data-reactid="506"><path class="rc-progress-circle-trail" d="M 50,50 m 0,-47
|
|
a 47,47 0 1 1 0,94
|
|
a 47,47 0 1 1 0,-94" stroke="#f3f3f3" stroke-width="6" fill-opacity="0" data-reactid="507"></path><path class="rc-progress-circle-path" d="M 50,50 m 0,-47
|
|
a 47,47 0 1 1 0,94
|
|
a 47,47 0 1 1 0,-94" stroke-linecap="round" stroke="#87d068" stroke-width="6" fill-opacity="0" style="stroke-dasharray:295.3097094374406px 295.3097094374406px;stroke-dashoffset:0px;transition:stroke-dashoffset 0.3s ease 0s, stroke 0.3s ease;" data-reactid="508"></path></svg><span class="ant-progress-text" data-reactid="509"><i class="anticon anticon-check" data-reactid="510"></i></span></div></div></div><style data-reactid="511">
|
|
.ant-progress-circle-wrap,
|
|
.ant-progress-line-wrap {
|
|
margin-right: 8px;
|
|
margin-bottom: 5px;
|
|
}
|
|
</style></section><section class="code-box-meta markdown" data-reactid="512"><div class="code-box-title" data-reactid="513"><a href="#components-progress-demo-circle" data-reactid="514">Circular progress bar</a><a class="edit-button" href="https://github.com/ant-design/ant-design/blob/master/components/progress/demo/circle.md" data-reactid="515"><i class="anticon anticon-edit" data-reactid="516"></i></a></div><div data-reactid="517"><p data-reactid="518"><!-- react-text: 519 -->A circular progress bar.<!-- /react-text --></p></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="520"></i></section><section class="highlight-wrapper" data-reactid="521"><div class="highlight" data-reactid="522"><pre class="language-__react" data-reactid="523"><code data-reactid="524">import { Progress } from <span class="token string">'antd'</span><span class="token comment" spellcheck="true">;</span>
|
|
|
|
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span>
|
|
<span class="token operator"><</span>div<span class="token operator">></span>
|
|
<span class="token operator"><</span>Progress type<span class="token operator">=</span><span class="token string">"circle"</span> percent<span class="token operator">=</span>{<span class="token number">75</span>} <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span>Progress type<span class="token operator">=</span><span class="token string">"circle"</span> percent<span class="token operator">=</span>{<span class="token number">70</span>} status<span class="token operator">=</span><span class="token string">"exception"</span> <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span>Progress type<span class="token operator">=</span><span class="token string">"circle"</span> percent<span class="token operator">=</span>{<span class="token number">100</span>} <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span>
|
|
<span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token comment" spellcheck="true">;</span></code></pre></div></section></section><section class="code-box" id="components-progress-demo-circle-mini" data-reactid="525"><section class="code-box-demo" data-reactid="526"><div data-reactid="527"><div class="ant-progress ant-progress-circle ant-progress-status-normal ant-progress-show-info" data-reactid="528"><div class="ant-progress-inner" style="width:80px;height:80px;font-size:18.8px;" data-reactid="529"><svg class="rc-progress-circle " viewBox="0 0 100 100" data-reactid="530"><path class="rc-progress-circle-trail" d="M 50,50 m 0,-47
|
|
a 47,47 0 1 1 0,94
|
|
a 47,47 0 1 1 0,-94" stroke="#f3f3f3" stroke-width="6" fill-opacity="0" data-reactid="531"></path><path class="rc-progress-circle-path" d="M 50,50 m 0,-47
|
|
a 47,47 0 1 1 0,94
|
|
a 47,47 0 1 1 0,-94" stroke-linecap="round" stroke="#108ee9" stroke-width="6" fill-opacity="0" style="stroke-dasharray:295.3097094374406px 295.3097094374406px;stroke-dashoffset:206.7167966062084px;transition:stroke-dashoffset 0.3s ease 0s, stroke 0.3s ease;" data-reactid="532"></path></svg><span class="ant-progress-text" data-reactid="533">30%</span></div></div><div class="ant-progress ant-progress-circle ant-progress-status-exception ant-progress-show-info" data-reactid="534"><div class="ant-progress-inner" style="width:80px;height:80px;font-size:18.8px;" data-reactid="535"><svg class="rc-progress-circle " viewBox="0 0 100 100" data-reactid="536"><path class="rc-progress-circle-trail" d="M 50,50 m 0,-47
|
|
a 47,47 0 1 1 0,94
|
|
a 47,47 0 1 1 0,-94" stroke="#f3f3f3" stroke-width="6" fill-opacity="0" data-reactid="537"></path><path class="rc-progress-circle-path" d="M 50,50 m 0,-47
|
|
a 47,47 0 1 1 0,94
|
|
a 47,47 0 1 1 0,-94" stroke-linecap="round" stroke="#ff5500" stroke-width="6" fill-opacity="0" style="stroke-dasharray:295.3097094374406px 295.3097094374406px;stroke-dashoffset:88.59291283123217px;transition:stroke-dashoffset 0.3s ease 0s, stroke 0.3s ease;" data-reactid="538"></path></svg><span class="ant-progress-text" data-reactid="539"><i class="anticon anticon-cross" data-reactid="540"></i></span></div></div><div class="ant-progress ant-progress-circle ant-progress-status-success ant-progress-show-info" data-reactid="541"><div class="ant-progress-inner" style="width:80px;height:80px;font-size:18.8px;" data-reactid="542"><svg class="rc-progress-circle " viewBox="0 0 100 100" data-reactid="543"><path class="rc-progress-circle-trail" d="M 50,50 m 0,-47
|
|
a 47,47 0 1 1 0,94
|
|
a 47,47 0 1 1 0,-94" stroke="#f3f3f3" stroke-width="6" fill-opacity="0" data-reactid="544"></path><path class="rc-progress-circle-path" d="M 50,50 m 0,-47
|
|
a 47,47 0 1 1 0,94
|
|
a 47,47 0 1 1 0,-94" stroke-linecap="round" stroke="#87d068" stroke-width="6" fill-opacity="0" style="stroke-dasharray:295.3097094374406px 295.3097094374406px;stroke-dashoffset:0px;transition:stroke-dashoffset 0.3s ease 0s, stroke 0.3s ease;" data-reactid="545"></path></svg><span class="ant-progress-text" data-reactid="546"><i class="anticon anticon-check" data-reactid="547"></i></span></div></div></div></section><section class="code-box-meta markdown" data-reactid="548"><div class="code-box-title" data-reactid="549"><a href="#components-progress-demo-circle-mini" data-reactid="550">Mini size circular progress bar</a><a class="edit-button" href="https://github.com/ant-design/ant-design/blob/master/components/progress/demo/circle-mini.md" data-reactid="551"><i class="anticon anticon-edit" data-reactid="552"></i></a></div><div data-reactid="553"><p data-reactid="554"><!-- react-text: 555 -->A smaller circular progress bar.<!-- /react-text --></p></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="556"></i></section><section class="highlight-wrapper" data-reactid="557"><div class="highlight" data-reactid="558"><pre class="language-__react" data-reactid="559"><code data-reactid="560">import { Progress } from <span class="token string">'antd'</span><span class="token comment" spellcheck="true">;</span>
|
|
|
|
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span>
|
|
<span class="token operator"><</span>div<span class="token operator">></span>
|
|
<span class="token operator"><</span>Progress type<span class="token operator">=</span><span class="token string">"circle"</span> percent<span class="token operator">=</span>{<span class="token number">30</span>} width<span class="token operator">=</span>{<span class="token number">80</span>} <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span>Progress type<span class="token operator">=</span><span class="token string">"circle"</span> percent<span class="token operator">=</span>{<span class="token number">70</span>} width<span class="token operator">=</span>{<span class="token number">80</span>} status<span class="token operator">=</span><span class="token string">"exception"</span> <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span>Progress type<span class="token operator">=</span><span class="token string">"circle"</span> percent<span class="token operator">=</span>{<span class="token number">100</span>} width<span class="token operator">=</span>{<span class="token number">80</span>} <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span>
|
|
<span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token comment" spellcheck="true">;</span></code></pre></div></section></section><section class="code-box" id="components-progress-demo-dynamic" data-reactid="561"><section class="code-box-demo" data-reactid="562"><div data-reactid="563"><div class="ant-progress ant-progress-line ant-progress-status-normal ant-progress-show-info" data-reactid="564"><div data-reactid="565"><div class="ant-progress-outer" data-reactid="566"><div class="ant-progress-inner" data-reactid="567"><div class="ant-progress-bg" style="width:0%;height:10px;" data-reactid="568"></div></div></div><span class="ant-progress-text" data-reactid="569">0%</span></div></div><div class="ant-btn-group" data-reactid="570"><button type="button" class="ant-btn ant-btn-ghost ant-btn-icon-only" data-reactid="571"><i class="anticon anticon-minus" data-reactid="572"></i></button><button type="button" class="ant-btn ant-btn-ghost ant-btn-icon-only" data-reactid="573"><i class="anticon anticon-plus" data-reactid="574"></i></button></div></div></section><section class="code-box-meta markdown" data-reactid="575"><div class="code-box-title" data-reactid="576"><a href="#components-progress-demo-dynamic" data-reactid="577">Dynamic</a><a class="edit-button" href="https://github.com/ant-design/ant-design/blob/master/components/progress/demo/dynamic.md" data-reactid="578"><i class="anticon anticon-edit" data-reactid="579"></i></a></div><div data-reactid="580"><p data-reactid="581"><!-- react-text: 582 -->A dynamic progress bar is better.<!-- /react-text --></p></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="583"></i></section><section class="highlight-wrapper" data-reactid="584"><div class="highlight" data-reactid="585"><pre class="language-__react" data-reactid="586"><code data-reactid="587">import { Progress<span class="token punctuation">,</span> Button } from <span class="token string">'antd'</span><span class="token comment" spellcheck="true">;</span>
|
|
<span class="token keyword">const</span> ButtonGroup <span class="token operator">=</span> Button<span class="token punctuation">.</span>Group<span class="token comment" spellcheck="true">;</span>
|
|
|
|
<span class="token keyword">const</span> MyProgress <span class="token operator">=</span> React<span class="token punctuation">.</span><span class="token function">createClass</span><span class="token punctuation">(</span>{
|
|
<span class="token function">getInitialState</span><span class="token punctuation">(</span><span class="token punctuation">)</span> {
|
|
return {
|
|
percent<span class="token punctuation">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
}<span class="token comment" spellcheck="true">;</span>
|
|
}<span class="token punctuation">,</span>
|
|
<span class="token function">increase</span><span class="token punctuation">(</span><span class="token punctuation">)</span> {
|
|
let percent <span class="token operator">=</span> this<span class="token punctuation">.</span>state<span class="token punctuation">.</span>percent <span class="token operator">+</span> <span class="token number">10</span><span class="token comment" spellcheck="true">;</span>
|
|
<span class="token keyword">if</span> <span class="token punctuation">(</span>percent <span class="token operator">></span> <span class="token number">100</span><span class="token punctuation">)</span> {
|
|
percent <span class="token operator">=</span> <span class="token number">100</span><span class="token comment" spellcheck="true">;</span>
|
|
}
|
|
this<span class="token punctuation">.</span><span class="token function">setState</span><span class="token punctuation">(</span>{ percent }<span class="token punctuation">)</span><span class="token comment" spellcheck="true">;</span>
|
|
}<span class="token punctuation">,</span>
|
|
<span class="token function">decline</span><span class="token punctuation">(</span><span class="token punctuation">)</span> {
|
|
let percent <span class="token operator">=</span> this<span class="token punctuation">.</span>state<span class="token punctuation">.</span>percent <span class="token operator">-</span> <span class="token number">10</span><span class="token comment" spellcheck="true">;</span>
|
|
<span class="token keyword">if</span> <span class="token punctuation">(</span>percent <span class="token operator"><</span> <span class="token number">0</span><span class="token punctuation">)</span> {
|
|
percent <span class="token operator">=</span> <span class="token number">0</span><span class="token comment" spellcheck="true">;</span>
|
|
}
|
|
this<span class="token punctuation">.</span><span class="token function">setState</span><span class="token punctuation">(</span>{ percent }<span class="token punctuation">)</span><span class="token comment" spellcheck="true">;</span>
|
|
}<span class="token punctuation">,</span>
|
|
<span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span> {
|
|
return <span class="token punctuation">(</span>
|
|
<span class="token operator"><</span>div<span class="token operator">></span>
|
|
<span class="token operator"><</span>Progress percent<span class="token operator">=</span>{this<span class="token punctuation">.</span>state<span class="token punctuation">.</span>percent} <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span>ButtonGroup<span class="token operator">></span>
|
|
<span class="token operator"><</span>Button type<span class="token operator">=</span><span class="token string">"ghost"</span> onClick<span class="token operator">=</span>{this<span class="token punctuation">.</span>decline} icon<span class="token operator">=</span><span class="token string">"minus"</span> <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span>Button type<span class="token operator">=</span><span class="token string">"ghost"</span> onClick<span class="token operator">=</span>{this<span class="token punctuation">.</span>increase} icon<span class="token operator">=</span><span class="token string">"plus"</span> <span class="token operator">/</span><span class="token operator">></span>
|
|
<span class="token operator"><</span><span class="token operator">/</span>ButtonGroup<span class="token operator">></span>
|
|
<span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span>
|
|
<span class="token punctuation">)</span><span class="token comment" spellcheck="true">;</span>
|
|
}<span class="token punctuation">,</span>
|
|
}<span class="token punctuation">)</span><span class="token comment" spellcheck="true">;</span>
|
|
|
|
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span><span class="token operator"><</span>MyProgress <span class="token operator">/</span><span class="token operator">></span><span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token comment" spellcheck="true">;</span></code></pre></div></section></section></div></div><section class="markdown api-container" data-reactid="588"><h2 id="API" data-reactid="589"><span data-reactid="590"><!-- react-text: 591 -->API<!-- /react-text --></span><a href="#API" class="anchor" data-reactid="592">#</a></h2><table data-reactid="593"><thead data-reactid="594"><tr data-reactid="595"><th data-reactid="596"><!-- react-text: 597 -->Property<!-- /react-text --></th><th data-reactid="598"><!-- react-text: 599 -->Description<!-- /react-text --></th><th data-reactid="600"><!-- react-text: 601 -->Type<!-- /react-text --></th><th data-reactid="602"><!-- react-text: 603 -->Default<!-- /react-text --></th></tr></thead><tbody data-reactid="604"><tr data-reactid="605"><td data-reactid="606"><!-- react-text: 607 -->type<!-- /react-text --></td><td data-reactid="608"><!-- react-text: 609 -->to set the type, options: <!-- /react-text --><code data-reactid="610"><!-- react-text: 611 -->line<!-- /react-text --></code><!-- react-text: 612 --> <!-- /react-text --><code data-reactid="613"><!-- react-text: 614 -->circle<!-- /react-text --></code></td><td data-reactid="615"><!-- react-text: 616 -->string<!-- /react-text --></td><td data-reactid="617"><!-- react-text: 618 -->line<!-- /react-text --></td></tr><tr data-reactid="619"><td data-reactid="620"><!-- react-text: 621 -->percent<!-- /react-text --></td><td data-reactid="622"><!-- react-text: 623 -->to set the completion percentage<!-- /react-text --></td><td data-reactid="624"><!-- react-text: 625 -->number<!-- /react-text --></td><td data-reactid="626"><!-- react-text: 627 -->0<!-- /react-text --></td></tr><tr data-reactid="628"><td data-reactid="629"><!-- react-text: 630 -->format<!-- /react-text --></td><td data-reactid="631"><!-- react-text: 632 -->template function of the content<!-- /react-text --></td><td data-reactid="633"><!-- react-text: 634 -->function(percent)<!-- /react-text --></td><td data-reactid="635"><code data-reactid="636"><!-- react-text: 637 -->percent => percent + '%'<!-- /react-text --></code></td></tr><tr data-reactid="638"><td data-reactid="639"><!-- react-text: 640 -->status<!-- /react-text --></td><td data-reactid="641"><!-- react-text: 642 -->to set the status of the progress, options: <!-- /react-text --><code data-reactid="643"><!-- react-text: 644 -->success<!-- /react-text --></code><!-- react-text: 645 --> <!-- /react-text --><code data-reactid="646"><!-- react-text: 647 -->exception<!-- /react-text --></code><!-- react-text: 648 --> <!-- /react-text --><code data-reactid="649"><!-- react-text: 650 -->active<!-- /react-text --></code></td><td data-reactid="651"><!-- react-text: 652 -->string<!-- /react-text --></td><td data-reactid="653"><!-- react-text: 654 -->-<!-- /react-text --></td></tr><tr data-reactid="655"><td data-reactid="656"><!-- react-text: 657 -->showInfo<!-- /react-text --></td><td data-reactid="658"><!-- react-text: 659 -->determine whether to display the progress value and the status icon<!-- /react-text --></td><td data-reactid="660"><!-- react-text: 661 -->boolean<!-- /react-text --></td><td data-reactid="662"><!-- react-text: 663 -->true<!-- /react-text --></td></tr><tr data-reactid="664"><td data-reactid="665"><!-- react-text: 666 -->strokeWidth <!-- /react-text --><code data-reactid="667"><!-- react-text: 668 -->(type=line)<!-- /react-text --></code></td><td data-reactid="669"><!-- react-text: 670 -->to set the width of the progress bar, unit: <!-- /react-text --><code data-reactid="671"><!-- react-text: 672 -->px<!-- /react-text --></code></td><td data-reactid="673"><!-- react-text: 674 -->number<!-- /react-text --></td><td data-reactid="675"><!-- react-text: 676 -->10<!-- /react-text --></td></tr><tr data-reactid="677"><td data-reactid="678"><!-- react-text: 679 -->strokeWidth <!-- /react-text --><code data-reactid="680"><!-- react-text: 681 -->(type=circle)<!-- /react-text --></code></td><td data-reactid="682"><!-- react-text: 683 -->to set the width of the circular progress bar, unit: percentage of the canvas width<!-- /react-text --></td><td data-reactid="684"><!-- react-text: 685 -->number<!-- /react-text --></td><td data-reactid="686"><!-- react-text: 687 -->6<!-- /react-text --></td></tr><tr data-reactid="688"><td data-reactid="689"><!-- react-text: 690 -->width <!-- /react-text --><code data-reactid="691"><!-- react-text: 692 -->(type=circle)<!-- /react-text --></code></td><td data-reactid="693"><!-- react-text: 694 -->to set the canvas width of the circular progress bar, unit: <!-- /react-text --><code data-reactid="695"><!-- react-text: 696 -->px<!-- /react-text --></code></td><td data-reactid="697"><!-- react-text: 698 -->number<!-- /react-text --></td><td data-reactid="699"><!-- react-text: 700 -->132<!-- /react-text --></td></tr></tbody></table></section></article></div></div><div class="ant-row" data-reactid="701"><div class="ant-col-xs-24 ant-col-sm-24 ant-col-md-18 ant-col-md-offset-6 ant-col-lg-20 ant-col-lg-offset-4" data-reactid="702"><section class="prev-next-nav" data-reactid="703"><a class="prev-page" href="/components/popconfirm/" data-reactid="704"><span data-reactid="705">Popconfirm</span><span class="chinese" data-reactid="706"></span></a><a class="next-page" href="/components/spin/" data-reactid="707"><span data-reactid="708">Spin</span><span class="chinese" data-reactid="709"></span></a></section></div></div></div><footer id="footer" data-reactid="710"><ul data-reactid="711"><li data-reactid="712"><h2 data-reactid="713">GitHub</h2><div data-reactid="714"><a target="_blank " href="https://github.com/ant-design/ant-design" data-reactid="715"><span data-reactid="716">Repository</span></a></div><div data-reactid="717"><a target="_blank" rel="noopener noreferrer" href="https://github.com/dvajs/dva" data-reactid="718">dva</a><!-- react-text: 719 --> - <!-- /react-text --><span data-reactid="720">Framework</span></div><div data-reactid="721"><a target="_blank" rel="noopener noreferrer" href="https://github.com/dvajs/dva-cli" data-reactid="722">dva-cli</a><!-- react-text: 723 --> -<!-- /react-text --><span data-reactid="724">Scaffold</span></div><div data-reactid="725"><a target="_blank" rel="noopener noreferrer" href="http://ant-tool.github.io" data-reactid="726">ant-tool</a><!-- react-text: 727 --> - <!-- /react-text --><span data-reactid="728">Developer Tools</span></div></li><li data-reactid="729"><h2 data-reactid="730"><span data-reactid="731">Links</span></h2><div data-reactid="732"><a href="http://mobile.ant.design" data-reactid="733">Ant Design Mobile</a><span data-reactid="734"> - </span><span data-reactid="735">Mobile</span></div><div data-reactid="736"><a href="https://g2.alipay.com/" data-reactid="737">G2</a><span data-reactid="738"> - </span><span data-reactid="739">Data Visualization</span></div><div data-reactid="740"><a href="https://antv.alipay.com/" data-reactid="741">AntV</a><span data-reactid="742"> - </span><span data-reactid="743">Data Visualization Specification</span></div><div data-reactid="744"><a href="http://motion.ant.design" data-reactid="745">Ant Motion</a><span data-reactid="746"> - </span><span data-reactid="747">Motion</span></div><div data-reactid="748"><a href="http://library.ant.design/" data-reactid="749">AntD Library</a><span data-reactid="750"> - </span><span data-reactid="751">Axure library of Ant Design</span></div><div data-reactid="752"><a href="http://ux.ant.design" data-reactid="753">Ant UX</a><span data-reactid="754"> - </span><span data-reactid="755">Sitemap Template</span></div></li><li data-reactid="756"><h2 data-reactid="757"><span data-reactid="758">Community</span></h2><div data-reactid="759"><a rel="noopener noreferrer" href="/changelog" data-reactid="760"><span data-reactid="761">Change Log</span></a></div><div data-reactid="762"><a target="_blank" rel="noopener noreferrer" href="https://github.com/ant-design/ant-design/issues" data-reactid="763"><span data-reactid="764">Feedback</span></a></div><div data-reactid="765"><a target="_blank" rel="noopener noreferrer" href="https://gitter.im/ant-design/ant-design" data-reactid="766"><span data-reactid="767">Chat Room</span></a></div><div data-reactid="768"><a target="_blank" rel="noopener noreferrer" href="https://github.com/ant-design/ant-design/issues/new" data-reactid="769"><span data-reactid="770">Bug Report</span></a></div></li><li data-reactid="771"><div data-reactid="772"><!-- react-text: 773 -->©2016 <!-- /react-text --><span data-reactid="774">Created by Ant UED</span></div><div data-reactid="775"><!-- react-text: 776 -->Powered by <!-- /react-text --><a href="https://github.com/benjycui/bisheng" data-reactid="777">BiSheng</a></div><div style="margin-top:10px;" data-reactid="778"><span data-reactid="779">Version: </span><div class="ant-select-sm ant-select ant-select-enabled" data-reactid="780"><div class="ant-select-selection
|
|
ant-select-selection--single" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false" tabindex="0" data-reactid="781"><div class="ant-select-selection__rendered" data-reactid="782"><div class="ant-select-selection-selected-value" title="2.6.4" style="display:block;opacity:1;" data-reactid="783">2.6.4</div></div><span class="ant-select-arrow" style="user-select:none;-webkit-user-select:none;" unselectable="unselectable" data-reactid="784"><b data-reactid="785"></b></span></div></div></div></li></ul></footer></div>
|
|
</div>
|
|
<script>
|
|
function isZhCN(pathname) {
|
|
return /-cn\/?$/.test(pathname);
|
|
}
|
|
function getLocalizedPathname(path, zhCN) {
|
|
var pathname = path.startsWith('/') ? path : '/' + path;
|
|
if (!zhCN) { // to enUS
|
|
return /\/?index-cn/.test(pathname) ? '/' : pathname.replace('-cn', '');
|
|
} else if (pathname === '/') {
|
|
return '/index-cn';
|
|
} else if (pathname.endsWith('/')) {
|
|
return pathname.replace(/\/$/, '-cn/');
|
|
}
|
|
return pathname + '-cn';
|
|
}
|
|
var queryString = location.search;
|
|
if (queryString) {
|
|
var pathname = location.pathname;
|
|
var isZhCNConfig = queryString.indexOf('zh-CN') > -1;
|
|
if (isZhCNConfig !== isZhCN(pathname)) {
|
|
location.pathname = getLocalizedPathname(pathname, isZhCNConfig)
|
|
}
|
|
}
|
|
</script>
|
|
<script src="/common.js"></script>
|
|
<script src="/index.js"></script>
|
|
</body>
|
|
</html>
|