SegmentedControl 分段器

由至少 2 个分段控件组成,用作显示不同视图的显示;是 iOS 的推荐组件。

规则

  • 和 Tabs 功能相似,尽可能避免一个页面中同时出现这两个组件。

  • 可以搭配 NavBar 一起使用,用于显示多个视图,分段数一般为 2 个。

  • 单独放置一行时,分段数最多为 5 个;文案需要精简,一般 2-4 个字。

  • 尽可能保持文案长度一致。

代码演示

示例

  1. import { SegmentedControl, WingBlank } from 'antd-mobile';
  2. const SegmentedControlExample = React.createClass({
  3. onChange(e) {
  4. console.log(`selectedIndex:${e.nativeEvent.selectedSegmentIndex}`);
  5. },
  6. onValueChange(value) {
  7. console.log(value);
  8. },
  9. render() {
  10. return (
  11. <WingBlank size="lg" className="sc-example">
  12. <p className="title">最简</p>
  13. <SegmentedControl values={['切换一', '切换二']} />
  14. <p className="title">禁用</p>
  15. <SegmentedControl values={['切换一', '切换二']} enabled={false} />
  16. <p className="title">默认选中一项</p>
  17. <SegmentedControl selectedIndex={1} values={['切换一', '切换二', '切换三']} />
  18. <p className="title">主色调样式 tintColor</p>
  19. <SegmentedControl
  20. values={['切换一', '切换二', '切换三']}
  21. tintColor={'#ff0000'}
  22. style={{ height: '0.8rem', width: '5rem' }}
  23. />
  24. <p className="title">事件</p>
  25. <SegmentedControl
  26. values={['切换一', '切换二', '切换三']}
  27. onChange={this.onChange}
  28. onValueChange={this.onValueChange}
  29. />
  30. </WingBlank>
  31. );
  32. },
  33. });
  34. ReactDOM.render(<SegmentedControlExample />, mountNode);
  1. .sc-example {
  2. padding-bottom: 0.26rem;
  3. }
  4. .sc-example .title {
  5. padding: 0.26rem 0;
  6. }

SegmentedControl分段器 - 图1

API ( 适用平台:WEB、React-Native )

成员说明类型默认值
prefixCls(web only)样式前缀Stringam-segment
className(web only)样式类String
style自定义样式Object{}
tintColor组件主色调String#2DB7F5
enabled是否启用Booleantrue
selectedIndex选中项在数组中的索引Number0
values选项数组,值是字符串array[]
onChange回调函数(e): voidfunction(){}
onValueChange回调函数(val): voidfunction(){}