• SegmentedControl分段器
    • 规则
  • 代码演示
  • API

    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