1e41f4b71Sopenharmony_ci# qrcode
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci>  **说明:**
4e41f4b71Sopenharmony_ci>  从API version 5开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
5e41f4b71Sopenharmony_ci
6e41f4b71Sopenharmony_ci生成并显示二维码。
7e41f4b71Sopenharmony_ci
8e41f4b71Sopenharmony_ci## 权限列表
9e41f4b71Sopenharmony_ci
10e41f4b71Sopenharmony_ci11e41f4b71Sopenharmony_ci
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci## 子组件
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci不支持。
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci
18e41f4b71Sopenharmony_ci## 属性
19e41f4b71Sopenharmony_ci
20e41f4b71Sopenharmony_ci除支持[通用属性](js-components-common-attributes.md)外,还支持如下属性:
21e41f4b71Sopenharmony_ci
22e41f4b71Sopenharmony_ci| 名称    | 类型     | 默认值  | 必填   | 描述                                       |
23e41f4b71Sopenharmony_ci| ----- | ------ | ---- | ---- | ---------------------------------------- |
24e41f4b71Sopenharmony_ci| value | string | -    | 是    | 用来生成二维码的内容。                              |
25e41f4b71Sopenharmony_ci| type  | string | rect | 否    | 二维码类型。可能选项有:<br/>-&nbsp;rect:矩形二维码。<br/>-&nbsp;circle:圆形二维码。 |
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ci
28e41f4b71Sopenharmony_ci## 样式
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ci除支持[通用样式](js-components-common-styles.md)外,还支持如下样式:
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ci| 名称               | 类型            | 默认值      | 必填   | 描述       |
33e41f4b71Sopenharmony_ci| ---------------- | ------------- | -------- | ---- | -------- |
34e41f4b71Sopenharmony_ci| color            | &lt;color&gt; | \#000000 | 否    | 二维码颜色。   |
35e41f4b71Sopenharmony_ci| background-color | &lt;color&gt; | \#ffffff | 否    | 二维码背景颜色。 |
36e41f4b71Sopenharmony_ci
37e41f4b71Sopenharmony_ci>  **说明:**
38e41f4b71Sopenharmony_ci>  - width和height不一致时,取二者较小值作为二维码的边长。且最终生成的二维码居中显示。
39e41f4b71Sopenharmony_ci>
40e41f4b71Sopenharmony_ci>
41e41f4b71Sopenharmony_ci>  - width和height只设置一个时,取设置的值作为二维码的边长。都不设置时,使用200px作为默认边长。
42e41f4b71Sopenharmony_ci>
43e41f4b71Sopenharmony_ci
44e41f4b71Sopenharmony_ci
45e41f4b71Sopenharmony_ci## 事件
46e41f4b71Sopenharmony_ci
47e41f4b71Sopenharmony_ci支持[通用事件](js-components-common-events.md)。
48e41f4b71Sopenharmony_ci
49e41f4b71Sopenharmony_ci## 方法
50e41f4b71Sopenharmony_ci
51e41f4b71Sopenharmony_ci支持[通用方法](js-components-common-methods.md)。
52e41f4b71Sopenharmony_ci
53e41f4b71Sopenharmony_ci
54e41f4b71Sopenharmony_ci## 示例
55e41f4b71Sopenharmony_ci
56e41f4b71Sopenharmony_ci```html
57e41f4b71Sopenharmony_ci<!-- xxx.hml -->
58e41f4b71Sopenharmony_ci<div class="container">
59e41f4b71Sopenharmony_ci  <qrcode value="{{qr_value}}" type="{{qr_type}}"
60e41f4b71Sopenharmony_ci  style="color: {{qr_col}};background-color: {{qr_bcol}};width: {{qr_size}};height: {{qr_size}};margin-bottom: 70px;"></qrcode>
61e41f4b71Sopenharmony_ci  <text class="txt">Type</text>
62e41f4b71Sopenharmony_ci  <switch showtext="true" checked="true" texton="rect" textoff="circle" onchange="settype"></switch>
63e41f4b71Sopenharmony_ci  <text class="txt">Color</text>
64e41f4b71Sopenharmony_ci  <select onchange="setcol">
65e41f4b71Sopenharmony_ci    <option for="{{col_list}}" value="{{$item}}">{{$item}}</option>
66e41f4b71Sopenharmony_ci  </select>
67e41f4b71Sopenharmony_ci  <text class="txt">Background Color</text>
68e41f4b71Sopenharmony_ci  <select onchange="setbcol">
69e41f4b71Sopenharmony_ci    <option for="{{bcol_list}}" value="{{$item}}">{{$item}}</option>
70e41f4b71Sopenharmony_ci  </select>
71e41f4b71Sopenharmony_ci</div>
72e41f4b71Sopenharmony_ci```
73e41f4b71Sopenharmony_ci
74e41f4b71Sopenharmony_ci```css
75e41f4b71Sopenharmony_ci/* xxx.css */
76e41f4b71Sopenharmony_ci.container {
77e41f4b71Sopenharmony_ci  width: 100%;
78e41f4b71Sopenharmony_ci  height: 100%;
79e41f4b71Sopenharmony_ci  flex-direction: column;
80e41f4b71Sopenharmony_ci  justify-content: center;
81e41f4b71Sopenharmony_ci  align-items: center;
82e41f4b71Sopenharmony_ci}
83e41f4b71Sopenharmony_ci.txt {
84e41f4b71Sopenharmony_ci  margin: 30px;
85e41f4b71Sopenharmony_ci  color: orangered;
86e41f4b71Sopenharmony_ci}
87e41f4b71Sopenharmony_ciselect{
88e41f4b71Sopenharmony_ci  margin-top: 40px;
89e41f4b71Sopenharmony_ci  margin-bottom: 40px;
90e41f4b71Sopenharmony_ci}
91e41f4b71Sopenharmony_ci```
92e41f4b71Sopenharmony_ci
93e41f4b71Sopenharmony_ci```js
94e41f4b71Sopenharmony_ci/* index.js */
95e41f4b71Sopenharmony_ciexport default {
96e41f4b71Sopenharmony_ci  data: {
97e41f4b71Sopenharmony_ci    qr_type: 'rect',
98e41f4b71Sopenharmony_ci    qr_size: '300px',
99e41f4b71Sopenharmony_ci    qr_col: '#87ceeb',
100e41f4b71Sopenharmony_ci    col_list: ['#87ceeb','#fa8072','#da70d6','#80ff00ff','#00ff00ff'],
101e41f4b71Sopenharmony_ci    qr_bcol: '#f0ffff',
102e41f4b71Sopenharmony_ci    bcol_list: ['#f0ffff','#ffffe0','#d8bfd8']
103e41f4b71Sopenharmony_ci  },
104e41f4b71Sopenharmony_ci  settype(e) {
105e41f4b71Sopenharmony_ci    if (e.checked) {
106e41f4b71Sopenharmony_ci      this.qr_type = 'rect'
107e41f4b71Sopenharmony_ci    } else {
108e41f4b71Sopenharmony_ci      this.qr_type = 'circle'
109e41f4b71Sopenharmony_ci    }
110e41f4b71Sopenharmony_ci  },
111e41f4b71Sopenharmony_ci  setcol(e) {
112e41f4b71Sopenharmony_ci    this.qr_col = e.newValue
113e41f4b71Sopenharmony_ci  },
114e41f4b71Sopenharmony_ci  setbcol(e) {
115e41f4b71Sopenharmony_ci    this.qr_bcol = e.newValue
116e41f4b71Sopenharmony_ci  }
117e41f4b71Sopenharmony_ci}
118e41f4b71Sopenharmony_ci```
119e41f4b71Sopenharmony_ci
120e41f4b71Sopenharmony_ci![zh-cn_image_0000001222948301](figures/zh-cn_image_0000001222948301.gif)
121e41f4b71Sopenharmony_ci
122