SegmentedControl分段器

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

规则

  • 和 Tabs 功能相似,尽可能避免一个页面中同时出现这两个组件。
  • 可以搭配 NavBar 一起使用,用于显示多个视图,分段数一般为 2 个。
  • 单独放置一行时,分段数最多为 5 个;文案需要精简,一般 2-4 个字。
  • 尽可能保持文案长度一致。

代码演示

基本用法

  1. import { Component } from '@angular/core';
  2. @Component({
  3. selector: 'demo-segmented-control-basic',
  4. template: `
  5. <WingBlank [size]="'lg'" class="sc-example">
  6. <p class="sub-title">Simplest</p>
  7. <SegmentedControl [values]="['Segment1', 'Segment2']"></SegmentedControl>
  8. <p class="sub-title">Disabled</p>
  9. <SegmentedControl [values]="['Segment1', 'Segment2']" [disabled]="true"></SegmentedControl>
  10. <p class="sub-title">SelectedIndex</p>
  11. <SegmentedControl [selectedIndex]="1" [values]="['Segment1', 'Segment2', 'Segment3']"></SegmentedControl>
  12. <p class="sub-title">TintColor</p>
  13. <SegmentedControl style="height: 40px; width: 250px"
  14. [values]="['Segment1', 'Segment2', 'Segment3']"
  15. [tintColor]="'#ff0000'"
  16. ></SegmentedControl>
  17. <p class="sub-title">onChange</p>
  18. <SegmentedControl [values]="['Segment1', 'Segment2', 'Segment3']"
  19. (onChange)="choose($event)"
  20. ></SegmentedControl>
  21. </WingBlank>
  22. `,
  23. styles: [
  24. `
  25. .sc-example {
  26. padding-bottom: 13px;
  27. }
  28. .sub-title {
  29. color: #888;
  30. font-size: 14px;
  31. padding: 30px 0 18px 0;
  32. margin: 0;
  33. }
  34. `
  35. ]
  36. })
  37. export class DemoSegmentedControlBasicComponent {
  38. choose(event) {
  39. console.log('index: ', event.selectedIndex, 'value: ', event.value);
  40. }
  41. }

SegmentedControl 分段器 - 图1

API

属性说明类型默认值
tintColor组件主色调String#2DB7F5
disabled是否启用Booleanfalse
selectedIndex选中项在数组中的索引Number0
values选项数组,值是字符串array[]
onChange回调函数(selectedIndex: number, value: string) => void