js-components-basic-switch.md 3.5 KB
Newer Older
Z
zengyawen 已提交
1 2 3 4
# switch

> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 从API version 4开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
Z
zengyawen 已提交
5 6 7

开关选择器,通过开关,开启或关闭某个功能。

Z
zengyawen 已提交
8
## 权限列表
Z
zengyawen 已提交
9 10 11



Z
zengyawen 已提交
12 13

## 子组件
Z
zengyawen 已提交
14 15 16 17

不支持。


Z
zengyawen 已提交
18 19 20 21 22 23 24 25 26 27
## 属性

除支持[通用属性](../arkui-js/js-components-common-attributes.md)外,还支持如下属性:

| 名称 | 类型 | 默认值 | 必填 | 描述 |
| -------- | -------- | -------- | -------- | -------- |
| checked | boolean | false | 否 | 是否选中。 |
| showtext | boolean | false | 否 | 是否显示文本。 |
| texton | string | "On" | 否 | 选中时显示的文本。 |
| textoff | string | "Off" | 否 | 未选中时显示的文本。 |
Z
zengyawen 已提交
28 29


Z
zengyawen 已提交
30
## 样式
Z
zengyawen 已提交
31 32 33



Z
zengyawen 已提交
34
除支持[通用样式](../arkui-js/js-components-common-styles.md)外,还支持如下样式:
Z
zengyawen 已提交
35

Z
zengyawen 已提交
36 37 38 39 40 41 42 43 44 45
| 名称 | 类型 | 默认值 | 必填 | 描述 |
| -------- | -------- | -------- | -------- | -------- |
| texton-color(Rich) | <color> | \#000000 | 否 | 选中时显示的文本颜色。 |
| textoff-color(Rich) | <color> | \#000000 | 否 | 未选中时显示的文本颜色。 |
| text-padding(Rich) | number | 0px | 否 | texton/textoff中最长文本两侧距离滑块边界的距离。 |
| font-size(Rich) | <length> | - | 否 | 文本尺寸,仅设置texton和textoff生效。 |
| allow-scale(Rich) | boolean | true | 否 | 文本尺寸是否跟随系统设置字体缩放尺寸进行放大缩小。<br/>>&nbsp;![icon-note.gif](public_sys-resources/icon-note.gif)&nbsp;**说明:**<br/>>&nbsp;如果在config描述文件中针对ability配置了fontSize的config-changes标签,则应用不会重启而直接生效。 |
| font-style(Rich) | string | normal | 否 | 字体样式,仅设置texton和textoff生效。见[text组件font-style的样式属性](../arkui-js/js-components-basic-text.md#样式)。 |
| font-weight(Rich) | number&nbsp;\|&nbsp;string | normal | 否 | 字体粗细,仅设置texton和textoff生效。见[text组件的font-weight的样式属性](../arkui-js/js-components-basic-text.md#样式)。 |
| font-family(Rich) | string | sans-serif | 否 | 字体列表,用逗号分隔,每个字体用字体名或者字体族名设置。列表中第一个系统中存在的或者通过[自定义字体](../arkui-js/js-components-common-customizing-font.md)指定的字体,会被选中作为文本的字体。仅设置texton和textoff生效。 |
Z
zengyawen 已提交
46 47


Z
zengyawen 已提交
48
## 事件
Z
zengyawen 已提交
49

Z
zengyawen 已提交
50
除支持[通用事件](../arkui-js/js-components-common-events.md)外,还支持如下事件:
Z
zengyawen 已提交
51

Z
zengyawen 已提交
52 53 54 55 56 57 58 59 60
| 名称 | 参数 | 描述 |
| -------- | -------- | -------- |
| change | {&nbsp;checked:&nbsp;checkedValue&nbsp;} | 选中状态改变时触发该事件。 |

## 方法

支持[通用方法](../arkui-js/js-components-common-methods.md)

## 示例
Z
zengyawen 已提交
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

```
<!-- xxx.hml -->
<div class="container">
  <switch showtext="true" texton="开启" textoff="关闭" checked="true" @change="switchChange">
  </switch>
</div>
```

```
/* xxx.css */
.container {
  display: flex;
  justify-content: center;
  align-items: center;
}
switch{
  texton-color:#002aff;
  textoff-color:silver;
  text-padding:20px;
}
```

```
// xxx.js
import prompt from '@system.prompt';
export default {
  data: {
    title: 'World'
  },
  switchChange(e){
    console.log(e.checked);
    if(e.checked){
      prompt.showToast({
        message: "打开开关"
      });
    }else{
      prompt.showToast({
        message: "关闭开关"
      });
    }
  }
}
```

Z
zengyawen 已提交
106
![zh-cn_image_0000001152862510](figures/zh-cn_image_0000001152862510.gif)