@tuya-miniapp/smart-ui 2.13.2-beta-0 → 2.13.2-beta-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/action-sheet/README.md +631 -0
- package/dist/battery/README.md +102 -0
- package/dist/bottom-sheet/README.md +397 -0
- package/dist/button/README.md +205 -0
- package/dist/button/index.css +1 -1
- package/dist/button/index.wxss +1 -1
- package/dist/calendar/README.md +466 -0
- package/dist/cascader/README.md +235 -0
- package/dist/cell/README.md +240 -0
- package/dist/checkbox/README.md +359 -0
- package/dist/circle/README.md +116 -0
- package/dist/col/README.md +134 -0
- package/dist/collapse/README.md +223 -0
- package/dist/common/README.md +71 -0
- package/dist/config-provider/README.md +143 -0
- package/dist/count-down/README.md +194 -0
- package/dist/custom-keyboard/README.md +119 -0
- package/dist/datetime-picker/README.md +384 -0
- package/dist/dialog/README.md +412 -0
- package/dist/divider/README.md +100 -0
- package/dist/dropdown-menu/README.md +278 -0
- package/dist/empty/README.md +101 -0
- package/dist/field/README.md +439 -0
- package/dist/grid/README.md +197 -0
- package/dist/icon/README.md +143 -0
- package/dist/image/README.md +171 -0
- package/dist/index-bar/README.md +189 -0
- package/dist/loading/README.md +86 -0
- package/dist/nav-bar/README.md +378 -0
- package/dist/normal-slider/README.md +325 -0
- package/dist/notice-bar/README.md +216 -0
- package/dist/notify/README.md +120 -0
- package/dist/overlay/README.md +132 -0
- package/dist/picker/README.md +396 -0
- package/dist/popover/README.md +249 -0
- package/dist/popup/README.md +162 -0
- package/dist/progress/README.md +99 -0
- package/dist/radio/README.md +303 -0
- package/dist/rate/README.md +176 -0
- package/dist/search/README.md +235 -0
- package/dist/sidebar/README.md +160 -0
- package/dist/skeleton/README.md +98 -0
- package/dist/slider/README.md +366 -0
- package/dist/stepper/README.md +208 -0
- package/dist/sticky/README.md +124 -0
- package/dist/swipe-cell/README.md +172 -0
- package/dist/switch/README.md +204 -0
- package/dist/tab/README.md +414 -0
- package/dist/tabbar/README.md +333 -0
- package/dist/tag/README.md +184 -0
- package/dist/toast/README.md +220 -0
- package/dist/transition/README.md +114 -0
- package/dist/tree-select/README.md +199 -0
- package/lib/action-sheet/README.md +631 -0
- package/lib/battery/README.md +102 -0
- package/lib/bottom-sheet/README.md +397 -0
- package/lib/button/README.md +205 -0
- package/lib/button/index.css +1 -1
- package/lib/button/index.wxss +1 -1
- package/lib/calendar/README.md +466 -0
- package/lib/cascader/README.md +235 -0
- package/lib/cell/README.md +240 -0
- package/lib/checkbox/README.md +359 -0
- package/lib/circle/README.md +116 -0
- package/lib/col/README.md +134 -0
- package/lib/collapse/README.md +223 -0
- package/lib/common/README.md +71 -0
- package/lib/config-provider/README.md +143 -0
- package/lib/count-down/README.md +194 -0
- package/lib/custom-keyboard/README.md +119 -0
- package/lib/datetime-picker/README.md +384 -0
- package/lib/dialog/README.md +412 -0
- package/lib/divider/README.md +100 -0
- package/lib/dropdown-menu/README.md +278 -0
- package/lib/empty/README.md +101 -0
- package/lib/field/README.md +439 -0
- package/lib/grid/README.md +197 -0
- package/lib/icon/README.md +143 -0
- package/lib/image/README.md +171 -0
- package/lib/index-bar/README.md +189 -0
- package/lib/loading/README.md +86 -0
- package/lib/nav-bar/README.md +378 -0
- package/lib/normal-slider/README.md +325 -0
- package/lib/notice-bar/README.md +216 -0
- package/lib/notify/README.md +120 -0
- package/lib/overlay/README.md +132 -0
- package/lib/picker/README.md +396 -0
- package/lib/popover/README.md +249 -0
- package/lib/popup/README.md +162 -0
- package/lib/progress/README.md +99 -0
- package/lib/radio/README.md +303 -0
- package/lib/rate/README.md +176 -0
- package/lib/search/README.md +235 -0
- package/lib/sidebar/README.md +160 -0
- package/lib/skeleton/README.md +98 -0
- package/lib/slider/README.md +366 -0
- package/lib/stepper/README.md +208 -0
- package/lib/sticky/README.md +124 -0
- package/lib/swipe-cell/README.md +172 -0
- package/lib/switch/README.md +204 -0
- package/lib/tab/README.md +414 -0
- package/lib/tabbar/README.md +333 -0
- package/lib/tag/README.md +184 -0
- package/lib/toast/README.md +220 -0
- package/lib/transition/README.md +114 -0
- package/lib/tree-select/README.md +199 -0
- package/package.json +1 -1
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: 反馈
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Popup 弹出层
|
|
6
|
+
|
|
7
|
+
### 介绍
|
|
8
|
+
|
|
9
|
+
弹出层容器,用于展示弹窗、信息提示等内容,支持多个弹出层叠加展示。
|
|
10
|
+
|
|
11
|
+
### 引入
|
|
12
|
+
|
|
13
|
+
在`app.json`或`index.json`中引入组件,详细介绍见[快速上手](/material/smartui?comId=help-getting-started&appType=miniapp)。
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
"usingComponents": {
|
|
17
|
+
"smart-popup": "@tuya-miniapp/smart-ui/lib/popup/index"
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## 代码演示
|
|
22
|
+
|
|
23
|
+
### 基础用法
|
|
24
|
+
|
|
25
|
+
通过`show`属性控制弹出层是否展示。
|
|
26
|
+
|
|
27
|
+
```html
|
|
28
|
+
<smart-cell title="展示弹出层" is-link bind:click="showPopup" />
|
|
29
|
+
|
|
30
|
+
<smart-popup show="{{ show }}" bind:close="onClose">内容</smart-popup>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
```javascript
|
|
34
|
+
Page({
|
|
35
|
+
data: {
|
|
36
|
+
show: false,
|
|
37
|
+
},
|
|
38
|
+
|
|
39
|
+
showPopup() {
|
|
40
|
+
this.setData({ show: true });
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
onClose() {
|
|
44
|
+
this.setData({ show: false });
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 弹出位置
|
|
50
|
+
|
|
51
|
+
通过`position`属性设置弹出位置,默认居中弹出,可以设置为`top`、`bottom`、`left`、`right`。
|
|
52
|
+
|
|
53
|
+
```html
|
|
54
|
+
<smart-popup show="{{ show }}" position="top" custom-style="height: 20%;" bind:close="onClose" />
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 关闭图标
|
|
58
|
+
|
|
59
|
+
设置`closeable`属性后,会在弹出层的右上角显示关闭图标,并且可以通过`close-icon`属性自定义图标,使用`close-icon-position`属性可以自定义图标位置。
|
|
60
|
+
|
|
61
|
+
```html
|
|
62
|
+
<smart-popup
|
|
63
|
+
show="{{ show }}"
|
|
64
|
+
closeable
|
|
65
|
+
position="bottom"
|
|
66
|
+
custom-style="height: 20%"
|
|
67
|
+
bind:close="onClose"
|
|
68
|
+
/>
|
|
69
|
+
|
|
70
|
+
<!-- 自定义图标 -->
|
|
71
|
+
<smart-popup
|
|
72
|
+
show="{{ show }}"
|
|
73
|
+
closeable
|
|
74
|
+
close-icon="close"
|
|
75
|
+
position="bottom"
|
|
76
|
+
custom-style="height: 20%"
|
|
77
|
+
bind:close="onClose"
|
|
78
|
+
/>
|
|
79
|
+
|
|
80
|
+
<!-- 图标位置 -->
|
|
81
|
+
<smart-popup
|
|
82
|
+
show="{{ show }}"
|
|
83
|
+
closeable
|
|
84
|
+
close-icon-position="top-left"
|
|
85
|
+
position="bottom"
|
|
86
|
+
custom-style="height: 20%"
|
|
87
|
+
bind:close="onClose"
|
|
88
|
+
/>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 圆角弹窗
|
|
92
|
+
|
|
93
|
+
设置`round`属性后,弹窗会根据弹出位置添加不同的圆角样式。
|
|
94
|
+
|
|
95
|
+
```html
|
|
96
|
+
<smart-popup
|
|
97
|
+
show="{{ show }}"
|
|
98
|
+
round
|
|
99
|
+
position="bottom"
|
|
100
|
+
custom-style="height: 20%"
|
|
101
|
+
bind:close="onClose"
|
|
102
|
+
/>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## API
|
|
106
|
+
|
|
107
|
+
### Props
|
|
108
|
+
|
|
109
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
110
|
+
| --- | --- | --- | --- |
|
|
111
|
+
| close-icon | 关闭图标名称或图片链接 | _string_ | `cross` |
|
|
112
|
+
| close-icon-aria-label `v2.13.0` | 关闭按钮的无障碍读屏文案,透传至内部 `smart-icon` 的 `aria-label` | _string_ | - |
|
|
113
|
+
| close-icon-position | 关闭图标位置,可选值为 `top-left`<br>`bottom-left` `bottom-right` | _string_ | `top-right` |
|
|
114
|
+
| close-on-click-overlay | 是否在点击遮罩层后关闭 | _boolean_ | `true` |
|
|
115
|
+
| closeable | 是否显示关闭图标 | _boolean_ | `false` |
|
|
116
|
+
| custom-style | 自定义弹出层样式 | _string_ | `''` |
|
|
117
|
+
| duration | 动画时长,单位为毫秒 | _number \| object_ | `300` |
|
|
118
|
+
| lock-scroll | 是否锁定背景滚动 | _boolean_ | `true` |
|
|
119
|
+
| overlay | 是否显示遮罩层 | _boolean_ | `true` |
|
|
120
|
+
| overlay-style | 自定义遮罩层样式 | _string_ | `''` |
|
|
121
|
+
| position | 弹出位置,可选值为 `top` `bottom` `right` `left` | _string_ | `center` |
|
|
122
|
+
| round | 是否显示圆角 | _boolean_ | `false` |
|
|
123
|
+
| safe-area-inset-bottom | 是否留出底部安全距离,v2.7.1 开始默认关闭 | _boolean_ | `false` |
|
|
124
|
+
| safe-area-inset-bottom-min `v1.1.0` | 是否需要预留出一个最小的底部安全距离,用于在 safeArea 底部为 0 时进行追加,需要在 safeAreaInsetBottom 为 true 时生效 | _number_ | `0` |
|
|
125
|
+
| safe-area-inset-top | 是否留出顶部安全距离(状态栏高度) | _boolean_ | `false` |
|
|
126
|
+
| safe-area-tab-bar | 是否留出底部 tabbar 安全距离(在使用 tabbar 组件 & 小程序自定义 tabbar 时,popup 组件层级无法盖住 tabbar) | _boolean_ | `false` |
|
|
127
|
+
| show | 是否显示弹出层 | _boolean_ | `false` |
|
|
128
|
+
| z-index | z-index 层级 | _number_ | `100` |
|
|
129
|
+
| native-disabled `v2.3.8` | 开启弹框期间是否禁用本地手势; 会在弹框开始进入动画时调用 `ty.nativeDisabled(true)`, 在弹框关闭动画结束时调用 `ty.nativeDisabled(false)` 恢复异层组件的点击能力;由于`ty.nativeDisabled` 是全局生效的,所以多个弹框组件同时打开时注意是否传 `native-disabled`属性和关闭的时机,防止 `native-disabled` 属性失效 | _boolean_ | `false` |
|
|
130
|
+
| full-cover-view `v2.11.1` | 是否使用 cover-view 包裹弹层,用于覆盖原生组件(如 map、video)时使用 | _boolean_ | `false` |
|
|
131
|
+
|
|
132
|
+
### Events
|
|
133
|
+
|
|
134
|
+
| 事件名 | 说明 | 参数 |
|
|
135
|
+
| --- | --- | --- |
|
|
136
|
+
| bind:after-enter | 进入后触发 | - |
|
|
137
|
+
| bind:after-leave | 离开后触发 | - |
|
|
138
|
+
| bind:before-enter | 进入前触发 | - |
|
|
139
|
+
| bind:before-leave | 离开前触发 | - |
|
|
140
|
+
| bind:click-overlay | 点击遮罩层时触发 | - |
|
|
141
|
+
| bind:close | 关闭弹出层时触发 | - |
|
|
142
|
+
| bind:enter | 进入中触发 | - |
|
|
143
|
+
| bind:leave | 离开中触发 | - |
|
|
144
|
+
|
|
145
|
+
### 外部样式类
|
|
146
|
+
|
|
147
|
+
| 类名 | 说明 |
|
|
148
|
+
| --- | --- |
|
|
149
|
+
| custom-class | 根节点样式类 |
|
|
150
|
+
|
|
151
|
+
### 样式变量
|
|
152
|
+
|
|
153
|
+
组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 [ConfigProvider 组件](/material/smartui?comId=config-provider&appType=miniapp)。
|
|
154
|
+
|
|
155
|
+
| 名称 | 默认值 | 描述 |
|
|
156
|
+
| --- | --- | --- |
|
|
157
|
+
| --popup-background-color | _var(--app-B4, #ffffff)_ | 弹窗背景颜色 |
|
|
158
|
+
| --popup-round-border-radius | _16px_ | 圆形边框半径 |
|
|
159
|
+
| --popup-close-icon-size | _24px_ | 关闭图标大小 |
|
|
160
|
+
| --popup-close-icon-color | _#969799_ | 关闭图标颜色 |
|
|
161
|
+
| --popup-close-icon-margin | _12px_ | 关闭图标边距 |
|
|
162
|
+
| --popup-close-icon-z-index | _1_ | 关闭图标层级 |
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
<!-- ---
|
|
2
|
+
category: 展示
|
|
3
|
+
--- -->
|
|
4
|
+
|
|
5
|
+
# Progress 进度条
|
|
6
|
+
|
|
7
|
+
### 介绍
|
|
8
|
+
|
|
9
|
+
用于展示操作的当前进度。
|
|
10
|
+
|
|
11
|
+
### 引入
|
|
12
|
+
|
|
13
|
+
在`app.json`或`index.json`中引入组件,详细介绍见[快速上手](/material/smartui?comId=help-getting-started&appType=miniapp)。
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
"usingComponents": {
|
|
17
|
+
"smart-progress": "@tuya-miniapp/smart-ui/lib/progress/index"
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## 代码演示
|
|
22
|
+
|
|
23
|
+
### 基础用法
|
|
24
|
+
|
|
25
|
+
进度条默认为蓝色,使用`percentage`属性来设置当前进度。
|
|
26
|
+
|
|
27
|
+
```html
|
|
28
|
+
<smart-progress percentage="50" />
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 线条粗细
|
|
32
|
+
|
|
33
|
+
通过`stroke-width`可以设置进度条的粗细。
|
|
34
|
+
|
|
35
|
+
```html
|
|
36
|
+
<smart-progress :percentage="50" stroke-width="8" />
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### 置灰
|
|
40
|
+
|
|
41
|
+
设置`inactive`属性后进度条将置灰。
|
|
42
|
+
|
|
43
|
+
```html
|
|
44
|
+
<smart-progress inactive percentage="50" />
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### 样式定制
|
|
48
|
+
|
|
49
|
+
可以使用`pivot-text`属性自定义文字,`color`属性自定义进度条颜色。
|
|
50
|
+
|
|
51
|
+
```html
|
|
52
|
+
<smart-progress pivot-text="橙色" color="#f2826a" percentage="25" />
|
|
53
|
+
|
|
54
|
+
<smart-progress pivot-text="红色" color="#ee0a24" percentage="50" />
|
|
55
|
+
|
|
56
|
+
<smart-progress
|
|
57
|
+
percentage="75"
|
|
58
|
+
pivot-text="紫色"
|
|
59
|
+
pivot-color="#7232dd"
|
|
60
|
+
color="linear-gradient(to right, #be99ff, #7232dd)"
|
|
61
|
+
/>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## API
|
|
65
|
+
|
|
66
|
+
### Props
|
|
67
|
+
|
|
68
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
69
|
+
| ------------ | -------------------------- | ------------------ | ---------------- |
|
|
70
|
+
| color | 进度条颜色 | _string_ | `#1989fa` |
|
|
71
|
+
| inactive | 是否置灰 | _boolean_ | `false` |
|
|
72
|
+
| percentage | 进度百分比 | _number_ | `0` |
|
|
73
|
+
| pivot-color | 文字背景色 | _string_ | 与进度条颜色一致 |
|
|
74
|
+
| pivot-text | 文字显示 | _string_ | 百分比文字 |
|
|
75
|
+
| show-pivot | 是否显示进度文字 | _boolean_ | `true` |
|
|
76
|
+
| stroke-width | 进度条粗细,默认单位为`px` | _string \| number_ | `4px` |
|
|
77
|
+
| text-color | 进度文字颜色 | _string_ | `#fff` |
|
|
78
|
+
| track-color | 轨道颜色 | _string_ | `#e5e5e5` |
|
|
79
|
+
|
|
80
|
+
### 外部样式类
|
|
81
|
+
|
|
82
|
+
| 类名 | 说明 |
|
|
83
|
+
| ------------ | ------------ |
|
|
84
|
+
| custom-class | 根节点样式类 |
|
|
85
|
+
|
|
86
|
+
### 样式变量
|
|
87
|
+
|
|
88
|
+
组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 [ConfigProvider 组件](/material/smartui?comId=config-provider&appType=miniapp)。
|
|
89
|
+
|
|
90
|
+
| 名称 | 默认值 | 描述 |
|
|
91
|
+
| ----------------------------- | -------------------------------------- | ---- |
|
|
92
|
+
| --progress-height | _4px_ | - |
|
|
93
|
+
| --progress-background-color | _#ebedf0_ | - |
|
|
94
|
+
| --progress-pivot-padding | _0 5px_ | - |
|
|
95
|
+
| --progress-color | _#1989fa_ | - |
|
|
96
|
+
| --progress-pivot-font-size | _10px_ | - |
|
|
97
|
+
| --progress-pivot-line-height | _1.6_ | - |
|
|
98
|
+
| --progress-pivot-background-color | _#1989fa_ | - |
|
|
99
|
+
| --progress-pivot-text-color | _#fff_ | - |
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: 数据录入
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Radio 单选框
|
|
6
|
+
|
|
7
|
+
### 介绍
|
|
8
|
+
|
|
9
|
+
在一组备选项中进行单选。
|
|
10
|
+
|
|
11
|
+
### 引入
|
|
12
|
+
|
|
13
|
+
在`app.json`或`index.json`中引入组件,详细介绍见[快速上手](/material/smartui?comId=help-getting-started&appType=miniapp)。
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
"usingComponents": {
|
|
17
|
+
"smart-radio": "@tuya-miniapp/smart-ui/lib/radio/index",
|
|
18
|
+
"smart-radio-group": "@tuya-miniapp/smart-ui/lib/radio-group/index"
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## 代码演示
|
|
23
|
+
|
|
24
|
+
### 基础用法
|
|
25
|
+
|
|
26
|
+
通过`value`绑定值当前选中项的 name 。
|
|
27
|
+
|
|
28
|
+
```html
|
|
29
|
+
<smart-radio-group value="{{ radio }}" bind:change="onChange">
|
|
30
|
+
<smart-radio name="1" custom-class="demo-radio-inline" />
|
|
31
|
+
<smart-radio name="2" custom-class="demo-radio-inline" />
|
|
32
|
+
</smart-radio-group>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
```css
|
|
36
|
+
.demo-radio-inline {
|
|
37
|
+
margin: 10px 0 0 20px;
|
|
38
|
+
display: inline-block !important;
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
```js
|
|
43
|
+
Page({
|
|
44
|
+
data: {
|
|
45
|
+
radio: '1',
|
|
46
|
+
},
|
|
47
|
+
|
|
48
|
+
onChange(event) {
|
|
49
|
+
this.setData({
|
|
50
|
+
radio: event.detail,
|
|
51
|
+
});
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 禁用状态
|
|
57
|
+
|
|
58
|
+
通过`disabled`属性禁止选项切换,在`Radio`上设置`diabled`可以禁用单个选项。
|
|
59
|
+
|
|
60
|
+
```html
|
|
61
|
+
<smart-radio-group value="{{ radio }}" disabled bind:change="onChange">
|
|
62
|
+
<smart-radio name="1" custom-class="demo-radio-inline" />
|
|
63
|
+
<smart-radio name="2" custom-class="demo-radio-inline" />
|
|
64
|
+
</smart-radio-group>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### 自定义形状
|
|
68
|
+
|
|
69
|
+
将 `shape` 属性设置为 `square`,单选框的形状会变成方形。
|
|
70
|
+
|
|
71
|
+
```html
|
|
72
|
+
<smart-radio-group value="{{ radio }}" bind:change="onChange">
|
|
73
|
+
<smart-radio name="1" shape="square" custom-class="demo-radio-inline" />
|
|
74
|
+
<smart-radio name="2" shape="square" custom-class="demo-radio-inline" />
|
|
75
|
+
</smart-radio-group>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 自定义颜色
|
|
79
|
+
|
|
80
|
+
通过 `checked-color` 属性设置选中状态的图标颜色。
|
|
81
|
+
|
|
82
|
+
```html
|
|
83
|
+
<smart-radio-group value="{{ radio }}" bind:change="onChange">
|
|
84
|
+
<smart-radio name="1" custom-class="demo-radio-inline" checked-color="#10D0D0" />
|
|
85
|
+
<smart-radio name="2" custom-class="demo-radio-inline" checked-color="#10D0D0" />
|
|
86
|
+
</smart-radio-group>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### 自定义大小
|
|
90
|
+
|
|
91
|
+
通过 `icon-size` 属性可以自定义图标的大小。
|
|
92
|
+
|
|
93
|
+
```html
|
|
94
|
+
<smart-radio-group value="{{ radio }}" bind:change="onChange">
|
|
95
|
+
<smart-radio name="1" icon-size="28px" custom-class="demo-radio-inline" />
|
|
96
|
+
<smart-radio name="2" icon-size="28px" custom-class="demo-radio-inline" />
|
|
97
|
+
</smart-radio-group>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 自定义文本
|
|
101
|
+
|
|
102
|
+
通过 slot 插槽子节点可以自定义文本内容。
|
|
103
|
+
|
|
104
|
+
```html
|
|
105
|
+
<smart-radio-group value="{{ radio }}" bind:change="onChange">
|
|
106
|
+
<smart-radio name="1">Radio 单选框 1</smart-radio>
|
|
107
|
+
<smart-radio name="2">Radio 单选框 2</smart-radio>
|
|
108
|
+
</smart-radio-group>
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 水平排列
|
|
112
|
+
|
|
113
|
+
将`direction`属性设置为`horizontal`后,单选框组会变成水平排列。
|
|
114
|
+
|
|
115
|
+
```html
|
|
116
|
+
<smart-radio-group
|
|
117
|
+
value="{{ radio }}"
|
|
118
|
+
bind:change="onChange"
|
|
119
|
+
direction="horizontal"
|
|
120
|
+
>
|
|
121
|
+
<smart-radio name="1">Radio 单选框 1</smart-radio>
|
|
122
|
+
<smart-radio name="2">Radio 单选框 2</smart-radio>
|
|
123
|
+
</smart-radio-group>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### 自定义图标
|
|
127
|
+
|
|
128
|
+
通过 `icon` 插槽自定义图标,需要设置 `use-icon-slot` 属性。
|
|
129
|
+
|
|
130
|
+
```html
|
|
131
|
+
<smart-radio-group value="{{ radio }}" bind:change="onChange">
|
|
132
|
+
<smart-radio use-icon-slot value="{{ radio }}" name="1">
|
|
133
|
+
自定义图标
|
|
134
|
+
<image slot="icon" src="{{ radio === '1' ? icon.active : icon.normal }}" />
|
|
135
|
+
</smart-radio>
|
|
136
|
+
<smart-radio use-icon-slot value="{{ radio }}" name="2">
|
|
137
|
+
自定义图标
|
|
138
|
+
<image slot="icon" src="{{ radio === '2' ? icon.active : icon.normal }}" />
|
|
139
|
+
</smart-radio>
|
|
140
|
+
</smart-radio-group>
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
```js
|
|
144
|
+
Page({
|
|
145
|
+
data: {
|
|
146
|
+
radio: true,
|
|
147
|
+
icon: {
|
|
148
|
+
normal: 'https://images.tuyacn.com/content-platform/hestia/1729664215ebd89f13e54.png',
|
|
149
|
+
active: 'https://images.tuyacn.com/content-platform/hestia/1730877912e76cbdb7563.png',
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
onChange(event) {
|
|
153
|
+
this.setData({
|
|
154
|
+
radio: event.detail,
|
|
155
|
+
});
|
|
156
|
+
},
|
|
157
|
+
});
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### 禁用文本点击
|
|
161
|
+
|
|
162
|
+
通过设置`label-disabled`属性可以禁用单选框文本点击。
|
|
163
|
+
|
|
164
|
+
```html
|
|
165
|
+
<smart-radio-group value="{{ radio }}" bind:change="onChange">
|
|
166
|
+
<smart-radio name="1" label-disabled>单选框 1</smart-radio>
|
|
167
|
+
<smart-radio name="2" label-disabled>单选框 2</smart-radio>
|
|
168
|
+
</smart-radio-group>
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### 与 Cell 组件一起使用
|
|
172
|
+
|
|
173
|
+
此时你需要再引入`Cell`和`CellGroup`组件。
|
|
174
|
+
|
|
175
|
+
```html
|
|
176
|
+
<smart-radio-group value="{{ radio }}" bind:change="onChange">
|
|
177
|
+
<smart-cell-group>
|
|
178
|
+
<smart-cell title="单选框 1" clickable data-name="1" bind:click="onClick">
|
|
179
|
+
<smart-radio slot="right-icon" name="1" />
|
|
180
|
+
</smart-cell>
|
|
181
|
+
<smart-cell title="单选框 2" clickable data-name="2" bind:click="onClick">
|
|
182
|
+
<smart-radio slot="right-icon" name="2" />
|
|
183
|
+
</smart-cell>
|
|
184
|
+
</smart-cell-group>
|
|
185
|
+
</smart-radio-group>
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
```js
|
|
189
|
+
Page({
|
|
190
|
+
data: {
|
|
191
|
+
radio: '1',
|
|
192
|
+
},
|
|
193
|
+
|
|
194
|
+
onChange(event) {
|
|
195
|
+
this.setData({
|
|
196
|
+
radio: event.detail,
|
|
197
|
+
});
|
|
198
|
+
},
|
|
199
|
+
|
|
200
|
+
onClick(event) {
|
|
201
|
+
const { name } = event.currentTarget.dataset;
|
|
202
|
+
this.setData({
|
|
203
|
+
radio: name,
|
|
204
|
+
});
|
|
205
|
+
},
|
|
206
|
+
});
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
### 阻止默认的UI更新行为
|
|
211
|
+
|
|
212
|
+
假如你的 `UI更新` 需要在特定情况下才允许更新,如 确认框/接口行为等才允许更新,可以开启 `prevent-default` 这个选项。
|
|
213
|
+
|
|
214
|
+
```html
|
|
215
|
+
<smart-radio-group prevent-default value="{{ radio }}" bind:change="onChange">
|
|
216
|
+
<smart-radio name="1">1</smart-radio>
|
|
217
|
+
<smart-radio name="2">2</smart-radio>
|
|
218
|
+
</smart-radio-group>
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
```js
|
|
222
|
+
Page({
|
|
223
|
+
data: {
|
|
224
|
+
radio: '1',
|
|
225
|
+
},
|
|
226
|
+
|
|
227
|
+
onChange(event) {
|
|
228
|
+
ty.showModal({
|
|
229
|
+
content: `onChange name: ${event.detail}`,
|
|
230
|
+
showCancel: true,
|
|
231
|
+
success: (res) => {
|
|
232
|
+
if (res.confirm) {
|
|
233
|
+
this.setData({
|
|
234
|
+
radio: event.detail
|
|
235
|
+
})
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
})
|
|
239
|
+
},
|
|
240
|
+
});
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
## API
|
|
244
|
+
|
|
245
|
+
### RadioGroup Props
|
|
246
|
+
|
|
247
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
248
|
+
| ------------------ | ------------------------------- | --------- | ---------- |
|
|
249
|
+
| direction | 排列方向,可选值为 `horizontal` | _string_ | `vertical` |
|
|
250
|
+
| disabled | 是否禁用所有单选框 | _boolean_ | `false` |
|
|
251
|
+
| name | 在表单内提交时的标识符 | _string_ | - |
|
|
252
|
+
| value | 当前选中项的标识符 | _any_ | - |
|
|
253
|
+
| prevent-default `v2.3.8`| 阻止默认的UI更新行为|_boolean_|`false` |
|
|
254
|
+
|
|
255
|
+
### Radio Props
|
|
256
|
+
|
|
257
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
258
|
+
| -------------- | ------------------------- | ------------------ | --------- |
|
|
259
|
+
| checked-color | 选中状态颜色 | _string_ | `#1989fa` |
|
|
260
|
+
| disabled | 是否为禁用状态 | _boolean_ | `false` |
|
|
261
|
+
| icon-size | 图标大小,默认单位为`px` | _string \| number_ | `24px` |
|
|
262
|
+
| label-disabled | 是否禁用文本内容点击 | _boolean_ | `false` |
|
|
263
|
+
| label-position | 文本位置,可选值为 `left` | _string_ | `right` |
|
|
264
|
+
| name | 标识符 | _string_ | - |
|
|
265
|
+
| shape | 形状,可选值为 `square` | _string_ | `round` |
|
|
266
|
+
| use-icon-slot | 是否使用 icon 插槽 | _boolean_ | `false` |
|
|
267
|
+
|
|
268
|
+
### Radio Event
|
|
269
|
+
|
|
270
|
+
| 事件名 | 说明 | 回调参数 |
|
|
271
|
+
| ----------- | ------------------------ | ----------------- |
|
|
272
|
+
| bind:change | 当绑定值变化时触发的事件 | 当前选中项的 name |
|
|
273
|
+
|
|
274
|
+
### Radio 外部样式类
|
|
275
|
+
|
|
276
|
+
| 类名 | 说明 |
|
|
277
|
+
| ------------ | -------------- |
|
|
278
|
+
| custom-class | 根节点样式类 |
|
|
279
|
+
| icon-class | 图标样式类 |
|
|
280
|
+
| label-class | 描述信息样式类 |
|
|
281
|
+
|
|
282
|
+
### RadioGroup Event
|
|
283
|
+
|
|
284
|
+
| 事件名 | 说明 | 回调参数 |
|
|
285
|
+
| ----------- | ------------------------ | ----------------- |
|
|
286
|
+
| bind:change | 当绑定值变化时触发的事件 | 当前选中项的 name |
|
|
287
|
+
|
|
288
|
+
### 样式变量
|
|
289
|
+
|
|
290
|
+
组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 [ConfigProvider 组件](/material/smartui?comId=config-provider&appType=miniapp)。
|
|
291
|
+
|
|
292
|
+
| 名称 | 默认值 | 描述 |
|
|
293
|
+
| ----------------------------- | -------------------------------------- | ---- |
|
|
294
|
+
| --radio-size | _24px_ | 单选框的大小 |
|
|
295
|
+
| --radio-border-color | _var(--app-B6-N6, rgba(0, 0, 0, 0.2))_ | 单选框的边框颜色 |
|
|
296
|
+
| --radio-border-radius | _4px_ | 单选框的边框圆角 |
|
|
297
|
+
| --radio-transition-duration | _0.2s_ | 单选框的过渡持续时间 |
|
|
298
|
+
| --radio-label-size | _12px_ | 单选框标签的字体大小 |
|
|
299
|
+
| --radio-label-margin | _10px_ | 单选框标签的外边距 |
|
|
300
|
+
| --radio-label-color | _var(--app-B6-N1, rgba(0, 0, 0, 1))_ | 单选框标签的字体颜色 |
|
|
301
|
+
| --radio-checked-icon-color | _var(--app-M4, #1989fa)_ | 单选框选中状态的图标颜色 |
|
|
302
|
+
| --radio-disabled-label-color | _var(--app-B6-N5, rgba(0, 0, 0, 0.3))_ | 单选框禁用状态的标签颜色 |
|
|
303
|
+
| --radio-disabled-opacity | _0.3_ | 单选框禁用状态的透明度 |
|