SegmentedControl 分段器

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

规则

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

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

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

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

代码演示

分段控制

  1. import { SegmentedControl, WhiteSpace, 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">
  12. <div style={{ padding: 16 }}>禁用/enabled=false</div>
  13. <SegmentedControl
  14. values={['切换一', '切换二']}
  15. enabled={false}
  16. />
  17. <WhiteSpace size="lg" />
  18. <div style={{ padding: 16 }}>设置 tintColor/style </div>
  19. <SegmentedControl
  20. values={['切换一', '切换二', '切换三']}
  21. tintColor={'#ff0000'}
  22. style={{ height: '0.8rem', width: '5rem' }}
  23. />
  24. <WhiteSpace size="lg" />
  25. <div style={{ padding: 16 }}>设置默认选中 selectedIndex </div>
  26. <SegmentedControl
  27. selectedIndex={1}
  28. values={['切换一', '切换二', '切换三']}
  29. />
  30. <WhiteSpace size="lg" />
  31. <div style={{ padding: 16 }}>事件 onChange/onValueChange </div>
  32. <SegmentedControl
  33. values={['切换一', '切换二', '切换三']}
  34. onChange={this.onChange}
  35. onValueChange={this.onValueChange}
  36. />
  37. </WingBlank>
  38. );
  39. },
  40. });
  41. ReactDOM.render(<SegmentedControlExample />, mountNode);

SegmentedControl分段器 - 图1

API

SegmentedControl

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