1e41f4b71Sopenharmony_ci# qrcode 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci> **说明:** 4e41f4b71Sopenharmony_ci> 从API version 5开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 5e41f4b71Sopenharmony_ci 6e41f4b71Sopenharmony_ci生成并显示二维码。 7e41f4b71Sopenharmony_ci 8e41f4b71Sopenharmony_ci## 权限列表 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci无 11e41f4b71Sopenharmony_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/>- rect:矩形二维码。<br/>- 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 | <color> | \#000000 | 否 | 二维码颜色。 | 35e41f4b71Sopenharmony_ci| background-color | <color> | \#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 121e41f4b71Sopenharmony_ci 122