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
  14. style="height: 40px; width: 250px"
  15. [tintColor]="'#ff0000'"
  16. [values]="['Segment1', 'Segment2', 'Segment3']"
  17. ></SegmentedControl>
  18. <p class="sub-title">onChange</p>
  19. <SegmentedControl [values]="['Segment1', 'Segment2', 'Segment3']" (onChange)="choose($event)"></SegmentedControl>
  20. </WingBlank>
  21. `,
  22. styles: [
  23. `
  24. .sc-example {
  25. padding-bottom: 13px;
  26. }
  27. .sub-title {
  28. color: #888;
  29. font-size: 14px;
  30. padding: 30px 0 18px 0;
  31. margin: 0;
  32. }
  33. `
  34. ]
  35. })
  36. export class DemoSegmentedControlBasicComponent {
  37. choose(event) {
  38. console.log('index: ', event.selectedIndex, 'value: ', event.value);
  39. }
  40. }

SegmentedControl分段器 - 图1

API

参数说明类型默认值
[tintColor]组件主色调string‘#2DB7F5’
[disabled]是否启用booleanfalse
[selectedIndex]选中项在数组中的索引number0
[values]选项数组,值是字符串array[]
(onChange)回调函数EventEmitter<{selectedIndex: number, value: any}>-