Files
ant-design/components/checkbox/index.html
T
2015-07-22 15:35:36 +08:00

715 lines
22 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<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="一个设计&前端框架"/>
<title>
Checkbox 多选框 - 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/antd-0.7.1.css">
<link rel="stylesheet" href="/static/style.css">
<link rel="stylesheet" href="/static/tomorrow.css">
<script>
(function (con) {
'use strict';
var prop, method;
var empty = {};
var dummy = function () {
};
var properties = 'memory'.split(',');
var methods = ('assert,clear,count,debug,dir,dirxml,error,exception,group,' +
'groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,' +
'show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn').split(',');
while (prop = properties.pop()) {
con[prop] = con[prop] || empty;
}
while (method = methods.pop()) {
con[method] = con[method] || dummy;
}
})(this.console = this.console || {});
</script>
<script src="https://a.alipayobjects.com/??bluebird/2.9.30/bluebird.js,jquery/jquery/1.11.1/jquery.js,es5-shim/4.0.5/es5-shim-debug.js,es5-shim/4.0.5/es5-sham-debug.js,html5shiv/3.7.2/src/html5shiv.js,react/0.13.3/react.js,react-router/0.13.3/ReactRouter.js"></script>
<script>
var ANT_COMPONENTS = [];
ANT_COMPONENTS.push({
title: 'Layout',
desc: '布局'
});
ANT_COMPONENTS.push({
title: 'Checkbox',
desc: '多选框'
});
ANT_COMPONENTS.push({
title: 'Iconfont',
desc: '字体图标'
});
ANT_COMPONENTS.push({
title: 'Button',
desc: '按钮'
});
ANT_COMPONENTS.push({
title: 'Radio',
desc: '单选框'
});
ANT_COMPONENTS.push({
title: 'Form',
desc: '表单'
});
ANT_COMPONENTS.push({
title: 'Switch',
desc: '开关'
});
ANT_COMPONENTS.push({
title: 'InputNumber',
desc: '数字输入框'
});
ANT_COMPONENTS.push({
title: 'Motion',
desc: '组件动画'
});
ANT_COMPONENTS.push({
title: 'Slider',
desc: '滑动输入条'
});
ANT_COMPONENTS.push({
title: 'Datepicker',
desc: '日期选择框'
});
ANT_COMPONENTS.push({
title: 'Select',
desc: '选择器'
});
ANT_COMPONENTS.push({
title: 'Tabs',
desc: '标签页'
});
ANT_COMPONENTS.push({
title: 'Steps',
desc: '步骤条'
});
ANT_COMPONENTS.push({
title: 'Breadcrumb',
desc: '面包屑'
});
ANT_COMPONENTS.push({
title: 'Collapse',
desc: '折叠面板'
});
ANT_COMPONENTS.push({
title: 'Alert',
desc: '通知栏'
});
ANT_COMPONENTS.push({
title: 'Notification',
desc: '系统通知框'
});
ANT_COMPONENTS.push({
title: 'Pagination',
desc: '分页'
});
ANT_COMPONENTS.push({
title: 'Tree',
desc: '树形控件'
});
ANT_COMPONENTS.push({
title: 'Carousel',
desc: '走马灯'
});
ANT_COMPONENTS.push({
title: 'Menu',
desc: '导航菜单'
});
ANT_COMPONENTS.push({
title: 'Tag',
desc: '标签'
});
ANT_COMPONENTS.push({
title: 'Affix',
desc: '固定'
});
ANT_COMPONENTS.push({
title: 'Upload',
desc: '文件上传'
});
ANT_COMPONENTS.push({
title: 'Modal',
desc: '对话框'
});
ANT_COMPONENTS.push({
title: 'Message',
desc: '全局提示'
});
ANT_COMPONENTS.push({
title: 'Dropdown',
desc: '下拉菜单'
});
ANT_COMPONENTS.push({
title: 'Popover',
desc: '气泡卡片'
});
ANT_COMPONENTS.push({
title: 'Popconfirm',
desc: '气泡确认框'
});
ANT_COMPONENTS.push({
title: 'Tooltip',
desc: '文字提示'
});
ANT_COMPONENTS.push({
title: 'Progress',
desc: '进度条'
});
ANT_COMPONENTS.push({
title: 'Table',
desc: '表格'
});
</script>
<script src="/static/script.js"></script>
<script>
window.antdVersion = {
latest: '0.7.1',
stable: '0.7.0'
};
</script>
<script src="/dist/antd-0.7.1.js"></script>
<script src="/dist/demo.js"></script>
<script>
window.require = function (path) {
var result = window;
var namespaces = path.split('/');
namespaces.forEach(function (key, i) {
if (i !== 0 && i === namespaces.length - 1) {
key = capitalizeFirstLetter(key);
}
if (key !== 'lib') {
if (result[key]) {
result = result[key];
} else {
throw 'There should not have modules here 2.';
}
}
});
function capitalizeFirstLetter(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}
return result;
};
</script>
</head>
<body >
<header id="header">
<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">
<span class="bar"></span>
<ul>
<li class="">
<a href="/">首页</a>
</li>
<li class="">
<a href="/docs/introduce">使用</a>
</li>
<li class="">
<a class="disabled" href="/design/">设计</a>
</li>
<li class="current">
<a href="/components">组件</a>
</li>
<li>
<a target="_blank" href="https://github.com/ant-design/ant-design">Github</a>
</li>
</ul>
</nav>
</header>
<div class="main-wrapper">
<aside class="aside-container">
<ul>
<li>
<h4>CSS</h4>
<ul class="">
<li class="">
<a href="../layout/">
Layout
<span class="chinese">布局</span>
</a>
</li>
<li class="">
<a href="../iconfont/">
Iconfont
<span class="chinese">字体图标</span>
</a>
</li>
<li class="">
<a href="../button/">
Button
<span class="chinese">按钮</span>
</a>
</li>
<li class="">
<a href="../form/">
Form
<span class="chinese">表单</span>
</a>
</li>
<li class="">
<a href="../motion/">
Motion
<span class="chinese">组件动画</span>
</a>
</li>
<li class="">
<a href="../alert/">
Alert
<span class="chinese">通知栏</span>
</a>
</li>
</ul>
</li>
<li>
<h4>Components</h4>
<ul class="aside-list-show">
<li class="current">
<a href="./">
Checkbox
<span class="chinese">多选框</span>
</a>
</li>
<li class="">
<a href="../radio/">
Radio
<span class="chinese">单选框</span>
</a>
</li>
<li class="">
<a href="../switch/">
Switch
<span class="chinese">开关</span>
</a>
</li>
<li class="">
<a href="../slider/">
Slider
<span class="chinese">滑动输入条</span>
</a>
</li>
<li class="">
<a href="../input-number/">
InputNumber
<span class="chinese">数字输入框</span>
</a>
</li>
<li class="">
<a href="../select/">
Select
<span class="chinese">选择器</span>
</a>
</li>
<li class="">
<a href="../datepicker/">
Datepicker
<span class="chinese">日期选择框</span>
</a>
</li>
<li class="">
<a href="../tabs/">
Tabs
<span class="chinese">标签页</span>
</a>
</li>
<li class="">
<a href="../steps/">
Steps
<span class="chinese">步骤条</span>
</a>
</li>
<li class="">
<a href="../breadcrumb/">
Breadcrumb
<span class="chinese">面包屑</span>
</a>
</li>
<li class="">
<a href="../collapse/">
Collapse
<span class="chinese">折叠面板</span>
</a>
</li>
<li class="">
<a href="../affix/">
Affix
<span class="chinese">固定</span>
</a>
</li>
<li class="">
<a href="../pagination/">
Pagination
<span class="chinese">分页</span>
</a>
</li>
<li class="">
<a href="../tree/">
Tree
<span class="chinese">树形控件</span>
</a>
</li>
<li class="">
<a href="../carousel/">
Carousel
<span class="chinese">走马灯</span>
</a>
</li>
<li class="">
<a href="../menu/">
Menu
<span class="chinese">导航菜单</span>
</a>
</li>
<li class="">
<a href="../tag/">
Tag
<span class="chinese">标签</span>
</a>
</li>
<li class="">
<a href="../upload/">
Upload
<span class="chinese">文件上传</span>
</a>
</li>
<li class="">
<a href="../notification/">
Notification
<span class="chinese">系统通知框</span>
</a>
</li>
<li class="">
<a href="../modal/">
Modal
<span class="chinese">对话框</span>
</a>
</li>
<li class="">
<a href="../message/">
Message
<span class="chinese">全局提示</span>
</a>
</li>
<li class="">
<a href="../dropdown/">
Dropdown
<span class="chinese">下拉菜单</span>
</a>
</li>
<li class="">
<a href="../popover/">
Popover
<span class="chinese">气泡卡片</span>
</a>
</li>
<li class="">
<a href="../popconfirm/">
Popconfirm
<span class="chinese">气泡确认框</span>
</a>
</li>
<li class="">
<a href="../tooltip/">
Tooltip
<span class="chinese">文字提示</span>
</a>
</li>
<li class="">
<a href="../progress/">
Progress
<span class="chinese">进度条</span>
</a>
</li>
<li class="">
<a href="../table/">
Table
<span class="chinese">表格</span>
</a>
</li>
</ul>
</li>
</ul>
</aside>
<section class="main-container">
<article class="markdown">
<h1>
Checkbox 多选框
</h1>
<p>多选框。</p>
<h2 id="何时使用">何时使用</h2><ul>
<li>需要表示开关状态/两种状态之间的切换时;</li>
<li><code>switch</code>的区别是,切换 <code>switch</code> 会直接触发状态改变,而 <code>checkbox</code> 一般用于状态标记,需要和提交操作配合。</li>
</ul>
<h2 id="api">API</h2><h3 id="checkbox">Checkbox</h3><table>
<thead>
<tr>
<th>参数</th>
<th>说明</th>
<th>类型</th>
<th>可选值</th>
<th>默认值</th>
</tr>
</thead>
<tbody>
<tr>
<td>checked</td>
<td>指定当前是否选中</td>
<td>boolean</td>
<td></td>
<td>false</td>
</tr>
<tr>
<td>defaultChecked</td>
<td>初始是否选中</td>
<td>boolean</td>
<td></td>
<td>false</td>
</tr>
<tr>
<td>onChange</td>
<td>变化时回调函数</td>
<td>Function(e:Event)</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</article><h2 class="component-demos">
组件演示
<i class="iconfont-home icon-all" title="展开全部代码"></i>
</h2>
<div class="code-boxes clearfix">
<div class="code-boxes-col-2-1"><div class="code-box">
<div class="code-box-demo">
<div id="components-checkbox-demo-basic"></div>
<script>(function(){'use strict';
var Checkbox = antd.Checkbox;
var container = document.getElementById('components-checkbox-demo-basic');
function onChange(e) {
console.log('checked = ' + e.target.checked);
}
React.render(React.createElement(
'label',
null,
React.createElement(Checkbox, { defaultChecked: false, onChange: onChange }),
'Checkbox'
), container);})()</script><div class="highlight"><pre><code class="javascript"><span class="keyword">var</span> Checkbox = antd.Checkbox;
<span class="keyword">var</span> container = document.getElementById(<span class="string">'components-checkbox-demo-basic'</span>);
<span class="function"><span class="keyword">function</span> <span class="title">onChange</span><span class="params">(e)</span> {</span>
console.log(<span class="string">'checked = '</span> + e.target.checked);
}
React.render(<span class="xml"><span class="tag">&lt;<span class="title">label</span>&gt;</span>
<span class="tag">&lt;<span class="title">Checkbox</span> <span class="attribute">defaultChecked</span>=<span class="value">{false}</span> <span class="attribute">onChange</span>=<span class="value">{onChange}</span> /&gt;</span>
Checkbox
<span class="tag">&lt;/<span class="title">label</span>&gt;</span>, container);</span></code></pre></div>
</div>
<div class="code-box-meta markdown">
<div class="code-box-title">基本用法</div>
<p>简单的 checkbox。</p>
<span class="collapse anticon anticon-circle-o-right"></span>
</div>
</div><div class="code-box">
<div class="code-box-demo">
<div id="components-checkbox-demo-controller"></div>
<script>(function(){'use strict';
var Checkbox = antd.Checkbox;
var container = document.getElementById('components-checkbox-demo-controller');
var App = React.createClass({
displayName: 'App',
getInitialState: function getInitialState() {
return {
checked: true,
disabled: false
};
},
render: function render() {
var label = (this.state.checked ? '选中' : '取消') + '-' + (this.state.disabled ? '不可用' : '可用');
return React.createElement(
'div',
null,
React.createElement(
'p',
{ style: { marginBottom: '20px' } },
React.createElement(
'label',
null,
React.createElement(Checkbox, { checked: this.state.checked,
disabled: this.state.disabled,
onChange: this.onChange }),
label
)
),
React.createElement(
'p',
null,
React.createElement(
'button',
{ className: "ant-btn ant-btn-primary ant-btn-sm",
onClick: this.toggleChecked },
!this.state.checked ? "选中" : "取消"
),
React.createElement(
'button',
{ style: { 'marginLeft': '10px' },
className: "ant-btn ant-btn-primary ant-btn-sm",
onClick: this.toggleDisable },
!this.state.disabled ? "不可用" : "可用"
)
)
);
},
toggleChecked: function toggleChecked(e) {
this.setState({ checked: !this.state.checked });
},
toggleDisable: function toggleDisable(e) {
this.setState({ disabled: !this.state.disabled });
},
onChange: function onChange(e) {
console.log('checked = ', e.target.checked);
this.setState({
checked: e.target.checked
});
}
});
React.render(React.createElement(App, null), container);})()</script><div class="highlight"><pre><code class="javascript"><span class="keyword">var</span> Checkbox = antd.Checkbox;
<span class="keyword">var</span> container = document.getElementById(<span class="string">'components-checkbox-demo-controller'</span>);
<span class="keyword">var</span> App = React.createClass({
getInitialState() {
<span class="keyword">return</span> {
checked: <span class="literal">true</span>,
disabled: <span class="literal">false</span>
}
},
render() {
<span class="keyword">var</span> label = (<span class="keyword">this</span>.state.checked ? <span class="string">'选中'</span> : <span class="string">'取消'</span>) + <span class="string">'-'</span> +
(<span class="keyword">this</span>.state.disabled ? <span class="string">'不可用'</span> : <span class="string">'可用'</span>);
<span class="keyword">return</span> <span class="xml"><span class="tag">&lt;<span class="title">div</span>&gt;</span>
<span class="tag">&lt;<span class="title">p</span> <span class="attribute">style</span>=<span class="value">{{marginBottom:</span> '<span class="attribute">20px</span>'}}&gt;</span>
<span class="tag">&lt;<span class="title">label</span>&gt;</span>
<span class="tag">&lt;<span class="title">Checkbox</span> <span class="attribute">checked</span>=<span class="value">{this.state.checked}</span>
<span class="attribute">disabled</span>=<span class="value">{this.state.disabled}</span>
<span class="attribute">onChange</span>=<span class="value">{this.onChange}</span> /&gt;</span>
{label}
<span class="tag">&lt;/<span class="title">label</span>&gt;</span>
<span class="tag">&lt;/<span class="title">p</span>&gt;</span>
<span class="tag">&lt;<span class="title">p</span>&gt;</span>
<span class="tag">&lt;<span class="title">button</span> <span class="attribute">className</span>=<span class="value">"ant-btn ant-btn-primary ant-btn-sm"</span>
<span class="attribute">onClick</span>=<span class="value">{this.toggleChecked}</span>&gt;</span>
{!this.state.checked ? "选中":"取消"}
<span class="tag">&lt;/<span class="title">button</span>&gt;</span>
<span class="tag">&lt;<span class="title">button</span> <span class="attribute">style</span>=<span class="value">{{'marginLeft':</span> '<span class="attribute">10px</span>'}}
<span class="attribute">className</span>=<span class="value">"ant-btn ant-btn-primary ant-btn-sm"</span>
<span class="attribute">onClick</span>=<span class="value">{this.toggleDisable}</span>&gt;</span>
{!this.state.disabled ? "不可用":"可用"}
<span class="tag">&lt;/<span class="title">button</span>&gt;</span>
<span class="tag">&lt;/<span class="title">p</span>&gt;</span>
<span class="tag">&lt;/<span class="title">div</span>&gt;</span>;</span>
},
toggleChecked(e) {
<span class="keyword">this</span>.setState({checked: !<span class="keyword">this</span>.state.checked});
},
toggleDisable(e) {
<span class="keyword">this</span>.setState({disabled: !<span class="keyword">this</span>.state.disabled});
},
onChange(e) {
console.log(<span class="string">'checked = '</span>, e.target.checked);
<span class="keyword">this</span>.setState({
checked: e.target.checked
});
}
});
React.render(<span class="xml"><span class="tag">&lt;<span class="title">App</span> /&gt;</span>, container);</span></code></pre></div>
</div>
<div class="code-box-meta markdown">
<div class="code-box-title">和外部组件通信</div>
<p>联动 checkbox。</p>
<span class="collapse anticon anticon-circle-o-right"></span>
</div>
</div>
</div>
<div class="code-boxes-col-2-1"><div class="code-box">
<div class="code-box-demo">
<div id="components-checkbox-demo-disable"></div>
<script>(function(){'use strict';
var Checkbox = antd.Checkbox;
var container = document.getElementById('components-checkbox-demo-disable');
React.render(React.createElement(
'div',
null,
React.createElement(Checkbox, { defaultChecked: false, disabled: true }),
React.createElement('br', null),
React.createElement(Checkbox, { defaultChecked: true, disabled: true })
), container);})()</script><div class="highlight"><pre><code class="javascript"><span class="keyword">var</span> Checkbox = antd.Checkbox;
<span class="keyword">var</span> container = document.getElementById(<span class="string">'components-checkbox-demo-disable'</span>);
React.render(<span class="xml"><span class="tag">&lt;<span class="title">div</span>&gt;</span>
<span class="tag">&lt;<span class="title">Checkbox</span> <span class="attribute">defaultChecked</span>=<span class="value">{false}</span> <span class="attribute">disabled</span>=<span class="value">{true}</span>/&gt;</span>
<span class="tag">&lt;<span class="title">br</span> /&gt;</span>
<span class="tag">&lt;<span class="title">Checkbox</span> <span class="attribute">defaultChecked</span>=<span class="value">{true}</span> <span class="attribute">disabled</span>=<span class="value">{true}</span>/&gt;</span>
<span class="tag">&lt;/<span class="title">div</span>&gt;</span>, container);</span></code></pre></div>
</div>
<div class="code-box-meta markdown">
<div class="code-box-title">不可用</div>
<p>checkbox 不可用。</p>
<span class="collapse anticon anticon-circle-o-right"></span>
</div>
</div>
</div>
</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/ant-design/tree/master/style">样式</a>
<a target="_blank" href="https://github.com/ant-design/antd-bin">开发工具</a>
</li>
<li>
<h2>关于我们</h2>
<a href="http://www.atatech.org/teams/79">博客 - Ant UED</a>
</li>
<li>
<h2>联系我们</h2>
<a target="_blank" href="https://github.com/ant-design/ant-design/issues">问题与建议 - Issues</a>
</li>
<li>
<h3>©2015 蚂蚁金服体验技术部出品</h3>
</li>
</ul>
</footer>
</body>
</html>