@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.
Files changed (107) hide show
  1. package/dist/action-sheet/README.md +631 -0
  2. package/dist/battery/README.md +102 -0
  3. package/dist/bottom-sheet/README.md +397 -0
  4. package/dist/button/README.md +205 -0
  5. package/dist/button/index.css +1 -1
  6. package/dist/button/index.wxss +1 -1
  7. package/dist/calendar/README.md +466 -0
  8. package/dist/cascader/README.md +235 -0
  9. package/dist/cell/README.md +240 -0
  10. package/dist/checkbox/README.md +359 -0
  11. package/dist/circle/README.md +116 -0
  12. package/dist/col/README.md +134 -0
  13. package/dist/collapse/README.md +223 -0
  14. package/dist/common/README.md +71 -0
  15. package/dist/config-provider/README.md +143 -0
  16. package/dist/count-down/README.md +194 -0
  17. package/dist/custom-keyboard/README.md +119 -0
  18. package/dist/datetime-picker/README.md +384 -0
  19. package/dist/dialog/README.md +412 -0
  20. package/dist/divider/README.md +100 -0
  21. package/dist/dropdown-menu/README.md +278 -0
  22. package/dist/empty/README.md +101 -0
  23. package/dist/field/README.md +439 -0
  24. package/dist/grid/README.md +197 -0
  25. package/dist/icon/README.md +143 -0
  26. package/dist/image/README.md +171 -0
  27. package/dist/index-bar/README.md +189 -0
  28. package/dist/loading/README.md +86 -0
  29. package/dist/nav-bar/README.md +378 -0
  30. package/dist/normal-slider/README.md +325 -0
  31. package/dist/notice-bar/README.md +216 -0
  32. package/dist/notify/README.md +120 -0
  33. package/dist/overlay/README.md +132 -0
  34. package/dist/picker/README.md +396 -0
  35. package/dist/popover/README.md +249 -0
  36. package/dist/popup/README.md +162 -0
  37. package/dist/progress/README.md +99 -0
  38. package/dist/radio/README.md +303 -0
  39. package/dist/rate/README.md +176 -0
  40. package/dist/search/README.md +235 -0
  41. package/dist/sidebar/README.md +160 -0
  42. package/dist/skeleton/README.md +98 -0
  43. package/dist/slider/README.md +366 -0
  44. package/dist/stepper/README.md +208 -0
  45. package/dist/sticky/README.md +124 -0
  46. package/dist/swipe-cell/README.md +172 -0
  47. package/dist/switch/README.md +204 -0
  48. package/dist/tab/README.md +414 -0
  49. package/dist/tabbar/README.md +333 -0
  50. package/dist/tag/README.md +184 -0
  51. package/dist/toast/README.md +220 -0
  52. package/dist/transition/README.md +114 -0
  53. package/dist/tree-select/README.md +199 -0
  54. package/lib/action-sheet/README.md +631 -0
  55. package/lib/battery/README.md +102 -0
  56. package/lib/bottom-sheet/README.md +397 -0
  57. package/lib/button/README.md +205 -0
  58. package/lib/button/index.css +1 -1
  59. package/lib/button/index.wxss +1 -1
  60. package/lib/calendar/README.md +466 -0
  61. package/lib/cascader/README.md +235 -0
  62. package/lib/cell/README.md +240 -0
  63. package/lib/checkbox/README.md +359 -0
  64. package/lib/circle/README.md +116 -0
  65. package/lib/col/README.md +134 -0
  66. package/lib/collapse/README.md +223 -0
  67. package/lib/common/README.md +71 -0
  68. package/lib/config-provider/README.md +143 -0
  69. package/lib/count-down/README.md +194 -0
  70. package/lib/custom-keyboard/README.md +119 -0
  71. package/lib/datetime-picker/README.md +384 -0
  72. package/lib/dialog/README.md +412 -0
  73. package/lib/divider/README.md +100 -0
  74. package/lib/dropdown-menu/README.md +278 -0
  75. package/lib/empty/README.md +101 -0
  76. package/lib/field/README.md +439 -0
  77. package/lib/grid/README.md +197 -0
  78. package/lib/icon/README.md +143 -0
  79. package/lib/image/README.md +171 -0
  80. package/lib/index-bar/README.md +189 -0
  81. package/lib/loading/README.md +86 -0
  82. package/lib/nav-bar/README.md +378 -0
  83. package/lib/normal-slider/README.md +325 -0
  84. package/lib/notice-bar/README.md +216 -0
  85. package/lib/notify/README.md +120 -0
  86. package/lib/overlay/README.md +132 -0
  87. package/lib/picker/README.md +396 -0
  88. package/lib/popover/README.md +249 -0
  89. package/lib/popup/README.md +162 -0
  90. package/lib/progress/README.md +99 -0
  91. package/lib/radio/README.md +303 -0
  92. package/lib/rate/README.md +176 -0
  93. package/lib/search/README.md +235 -0
  94. package/lib/sidebar/README.md +160 -0
  95. package/lib/skeleton/README.md +98 -0
  96. package/lib/slider/README.md +366 -0
  97. package/lib/stepper/README.md +208 -0
  98. package/lib/sticky/README.md +124 -0
  99. package/lib/swipe-cell/README.md +172 -0
  100. package/lib/switch/README.md +204 -0
  101. package/lib/tab/README.md +414 -0
  102. package/lib/tabbar/README.md +333 -0
  103. package/lib/tag/README.md +184 -0
  104. package/lib/toast/README.md +220 -0
  105. package/lib/transition/README.md +114 -0
  106. package/lib/tree-select/README.md +199 -0
  107. package/package.json +1 -1
@@ -0,0 +1,378 @@
1
+ ---
2
+ category: 导航
3
+ ---
4
+
5
+ # NavBar 导航栏
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-nav-bar": "@tuya-miniapp/smart-ui/lib/nav-bar/index"
18
+ }
19
+ ```
20
+
21
+ ## 代码演示
22
+
23
+ ### 首页
24
+
25
+ 首页的文本样式默认左对齐并加粗,点击左侧文本时触发事件;background `v2.7.0` 属性可以设置nav-bar的背景色。
26
+ 通过 `slot="left"` 可在左侧区域插入自定义内容(如图标),插入的内容使用 `margin-left: auto` 可在不脱离文档流的情况下在左侧容器内居右排列 `v2.12.0`。
27
+
28
+ ```html
29
+ <smart-nav-bar
30
+ left-text="Home"
31
+ left-text-type="home"
32
+ bind:click-left-text="onClickLeftText"
33
+ />
34
+ <smart-nav-bar
35
+ background="#E4EDFF"
36
+ left-text="HomeHomeHomeHomeHome"
37
+ left-text-type="home"
38
+ bind:click-left-text="onClickLeftText"
39
+ />
40
+ <smart-nav-bar
41
+ background="#E4EDFF"
42
+ custom-class="demo-nav-bar"
43
+ left-text="HomeHomeHomeHomeHome"
44
+ left-text-type="home"
45
+ bind:click-left-text="onClickLeftText"
46
+ >
47
+ <smart-icon
48
+ style="margin-left: auto;padding-left: 16px;"
49
+ slot="left"
50
+ name="https://images.tuyacn.com/content-platform/hestia/1729664215ebd89f13e54.png" size="24px"
51
+ />
52
+ </smart-nav-bar>
53
+ ```
54
+
55
+ ```js
56
+ Page({
57
+ onClickLeftText() {
58
+ ty.showToast({ title: '点击左侧文本', icon: 'none' });
59
+ },
60
+ });
61
+ ```
62
+
63
+ ### 二级页面-单图标
64
+
65
+ 当中间标题内容比较长,且两侧内容较少时可以设置 `v2.7.3` `side-width` 为 `min`。
66
+
67
+ ```html
68
+ <smart-nav-bar
69
+ title="ScheduleScheduleScheduleSchedule"
70
+ left-arrow
71
+ right-icon="{{ iconMore }}"
72
+ side-width="min"
73
+ right-icon-size="24px"
74
+ bind:click-right="onClickRight"
75
+ bind:click-left="onClickLeft"
76
+ bind:click-title="onClickTitle"
77
+ />
78
+ ```
79
+
80
+ ```js
81
+ import More from '@tuya-miniapp/icons/dist/svg/More';
82
+
83
+ Page({
84
+ data: {
85
+ iconMore: More,
86
+ },
87
+ onClickLeft() {
88
+ ty.showToast({ title: '点击返回', icon: 'none' });
89
+ },
90
+ onClickTitle() {
91
+ ty.showToast({ title: '点击中央文本', icon: 'none' });
92
+ },
93
+ onClickRight() {
94
+ ty.showToast({ title: '点击右侧', icon: 'none' });
95
+ },
96
+ });
97
+ ```
98
+
99
+ ### 二级页面-常见情况
100
+
101
+ ```html
102
+ <smart-nav-bar
103
+ title="ScheduleScheduleScheduleSchedule"
104
+ left-arrow
105
+ right-icon="{{ iconMore }}"
106
+ side-width="mid"
107
+ right-icon-size="24px"
108
+ bind:click-right="onClickRight"
109
+ bind:click-left="onClickLeft"
110
+ bind:click-title="onClickTitle"
111
+ >
112
+ <smart-icon
113
+ slot="right"
114
+ size="24px"
115
+ style="margin-right: 16px;"
116
+ name="{{ iconHouse }}"
117
+ />
118
+ </smart-nav-bar>
119
+ <smart-nav-bar
120
+ title="ScheduleScheduleScheduleSchedule"
121
+ right-text="确认"
122
+ left-text="取消"
123
+ side-width="mid"
124
+ right-text-color="#F04C4C"
125
+ bind:click-right-text="onClickRightText"
126
+ bind:click-left-text="onClickLeftText"
127
+ bind:click-title="onClickTitle"
128
+ />
129
+ <smart-nav-bar
130
+ title="ScheduleScheduleScheduleSchedule"
131
+ left-arrow
132
+ side-width="mid"
133
+ right-text="确认"
134
+ right-text-color="#F04C4C"
135
+ bind:click-right-text="onClickRightText"
136
+ bind:click-left="onClickLeft"
137
+ bind:click-title="onClickTitle"
138
+ />
139
+ ```
140
+
141
+ ```js
142
+ import House from '@tuya-miniapp/icons/dist/svg/House';
143
+ import More from '@tuya-miniapp/icons/dist/svg/More';
144
+
145
+ Page({
146
+ data: {
147
+ iconHouse: House,
148
+ iconMore: More,
149
+ },
150
+ onClickLeft() {
151
+ ty.showToast({ title: '点击返回', icon: 'none' });
152
+ },
153
+ onClickLeftText() {
154
+ ty.showToast({ title: '点击左侧文本', icon: 'none' });
155
+ },
156
+ onClickRightText() {
157
+ ty.showToast({ title: '点击右侧文本', icon: 'none' });
158
+ },
159
+ onClickTitle() {
160
+ ty.showToast({ title: '点击中央文本', icon: 'none' });
161
+ },
162
+ onClickRight() {
163
+ ty.showToast({ title: '点击右侧', icon: 'none' });
164
+ },
165
+ });
166
+ ```
167
+
168
+ ### 二级页面-短标题
169
+
170
+ 当两侧操作内容较多时可以设置 `side-width` `v2.7.3` 为 `max`,减小标题区域的大小。
171
+
172
+ ```html
173
+ <smart-nav-bar
174
+ title="ScheduleSchedule"
175
+ left-arrow
176
+ side-width="max"
177
+ bind:click-left="onClickLeft"
178
+ bind:click-title="onClickTitle"
179
+ />
180
+ <smart-nav-bar
181
+ title="ScheduleSchedule"
182
+ left-text="Abbrechen"
183
+ right-text="Speichern"
184
+ right-text-color="#F04C4C"
185
+ side-width="max"
186
+ bind:click-left-text="onClickLeftText"
187
+ bind:click-title="onClickTitle"
188
+ bind:click-right-text="onClickRightText"
189
+ />
190
+ <smart-nav-bar
191
+ title="ScheduleSchedule"
192
+ left-arrow
193
+ right-text="Speichern"
194
+ right-text-color="#F04C4C"
195
+ side-width="max"
196
+ bind:click-left="onClickLeft"
197
+ bind:click-title="onClickTitle"
198
+ bind:click-right-text="onClickRightText"
199
+ />
200
+ ```
201
+
202
+ ```js
203
+ Page({
204
+ onClickLeft() {
205
+ ty.showToast({ title: '点击返回', icon: 'none' });
206
+ },
207
+ onClickLeftText() {
208
+ ty.showToast({ title: '点击左侧文本', icon: 'none' });
209
+ },
210
+ onClickRightText() {
211
+ ty.showToast({ title: '点击右侧文本', icon: 'none' });
212
+ },
213
+ onClickTitle() {
214
+ ty.showToast({ title: '点击中央文本', icon: 'none' });
215
+ },
216
+ });
217
+ ```
218
+
219
+ ### 自定义宽度 `v2.7.3`
220
+
221
+ `side-width` 也支持传如 `100`、`100px`、`100rpx` 去自定义两边的宽度。
222
+
223
+ ```html
224
+ <smart-nav-bar
225
+ title="ScheduleScheduleScheduleSchedule"
226
+ left-arrow
227
+ side-width="100px"
228
+ right-icon="{{ iconMore }}"
229
+ right-icon-size="24px"
230
+ bind:click-right="onClickRight"
231
+ bind:click-left="onClickLeft"
232
+ bind:click-title="onClickTitle"
233
+ />
234
+ ```
235
+
236
+ ```js
237
+ import More from '@tuya-miniapp/icons/dist/svg/More';
238
+
239
+ Page({
240
+ data: {
241
+ iconMore: More,
242
+ },
243
+ onClickLeft() {
244
+ ty.showToast({ title: '点击返回', icon: 'none' });
245
+ },
246
+ onClickTitle() {
247
+ ty.showToast({ title: '点击中央文本', icon: 'none' });
248
+ },
249
+ onClickRight() {
250
+ ty.showToast({ title: '点击右侧', icon: 'none' });
251
+ },
252
+ });
253
+ ```
254
+
255
+ ### 左标题
256
+
257
+ 部分二级页面标题位于左侧,或同时附带 icon。
258
+
259
+ ```html
260
+ <smart-nav-bar
261
+ left-text="Home"
262
+ left-text-type="title"
263
+ side-width="mid"
264
+ left-icon="https://images.tuyacn.com/content-platform/hestia/1729664215ebd89f13e54.png"
265
+ bind:click-left-icon="onClickLeftIcon"
266
+ bind:click-left-text="onClickLeftText"
267
+ />
268
+ ```
269
+
270
+ ```js
271
+ Page({
272
+ onClickLeftIcon() {
273
+ ty.showToast({ title: '点击左侧图标', icon: 'none' });
274
+ },
275
+ onClickLeftText() {
276
+ ty.showToast({ title: '点击左侧文本', icon: 'none' });
277
+ },
278
+ });
279
+ ```
280
+
281
+ ## API
282
+
283
+ ### Props
284
+
285
+ | 参数 | 说明 | 类型 | 默认值 |
286
+ | ------------------- | ---------------------------------- | --------- | ------- |
287
+ | border | 是否显示下边框 | _boolean_ | `true` `v2.0.0` `false` `v2.7.0` |
288
+ | custom-style | 根节点自定义样式 | _string_ | - |
289
+ | fixed | 是否固定在顶部 | _boolean_ | `false` |
290
+ | left-arrow | 是否显示左侧箭头 | _boolean_ | `false` |
291
+ | left-arrow-aria-label `v2.13.0` | 左侧返回箭头的无障碍读屏文案 | _string_ | - |
292
+ | left-text | 左侧文案 | _string_ | `''` |
293
+ | left-text-type `v2.0.0` | 左侧文本的样式类型,范围为 `home`、`title`、`back` | _string_ | `back` |
294
+ | left-icon `v2.0.0` | 左侧 Icon | _string_ | `''` |
295
+ | left-icon-aria-label `v2.13.0` | 左侧图标按钮的无障碍读屏文案 | _string_ | - |
296
+ | left-icon-size `v2.0.0` | 左侧 Icon 大小,默认为 32 | _string \| number_ | `32` |
297
+ | round `v2.1.0` | 是否显示圆角 | _boolean_ | `false` |
298
+ | placeholder | 固定在顶部时是否开启占位 | _boolean_ | `false` |
299
+ | right-text | 右侧文案 | _string_ | `''` |
300
+ | safe-area-inset-top | 是否留出顶部安全距离(状态栏高度) | _boolean_ | `true` |
301
+ | title | 标题 | _string_ | `''` |
302
+ | z-index | 元素 z-index | _number_ | `1` |
303
+ | right-text-color `v2.7.0` | 右侧文案的颜色 | _string_ | - |
304
+ | right-icon `v2.7.0` | 右侧图标 | _string_ | - |
305
+ | right-icon-aria-label `v2.13.0` | 右侧图标按钮的无障碍读屏文案 | _string_ | - |
306
+ | right-icon-color `v2.7.0` | 右侧图标颜色 | _string_ | - |
307
+ | right-icon-size `v2.7.0` | 右侧图标大小 | _number_ | `32px` |
308
+ | left-icon-color `v2.7.0` | 左侧图标颜色 (非返回 icon) | _string_ | - |
309
+ | background `v2.7.0` | 整体背景色 | _string_ | - |
310
+ | side-width `v2.7.3` | 两边控制栏的宽度, 提供 `min`、`mid`、`max`三档内置值;也可以传具体宽度值 | _string\/number\/`min`\/`mid`\/`max`_ | `mid` `v2.7.3` `max` `v2.9.0` |
311
+
312
+ ### Slot
313
+
314
+ | 名称 | 说明 |
315
+ | ----- | ------------------ |
316
+ | left | 自定义左侧区域内容 |
317
+ | right | 自定义右侧区域内容 |
318
+ | title | 自定义标题 |
319
+
320
+ ### Events
321
+
322
+ | 事件名 | 说明 | 参数 |
323
+ | ---------------- | ------------------ | ---- |
324
+ | bind:click-left | 点击左侧返回 icon 时触发 | - |
325
+ | bind:click-right | 点击右侧按钮时触发 | - |
326
+ | bind:click-title `v2.0.0` | 点击中央标题时触发 | - |
327
+ | bind:click-left-icon `v2.0.0` | 点击左侧 icon 时触发(非返回 icon) | - |
328
+ | bind:click-left-text `v2.0.0` | 点击左侧文本时触发 | - |
329
+ | bind:click-right-icon `v2.7.0` | 点击右侧图标时触发 | - |
330
+ | bind:click-right-text `v2.7.0` | 点击右侧文本时触发 | - |
331
+
332
+ ### 外部样式类
333
+
334
+ | 类名 | 说明 |
335
+ | ------------ | ------------ |
336
+ | custom-class | 根节点样式类 |
337
+ | title-class | 标题样式类 |
338
+ | left-icon-class `v2.0.0` | 左侧图标样式类 |
339
+ | right-text-class `v2.1.0` | 右侧文字样式类 |
340
+ | right-icon-class `v2.7.0` | 右侧图标样式类 |
341
+ | left-text-class `v2.7.0` | 左侧文字样式类 |
342
+
343
+ ### 样式变量
344
+
345
+ 组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 [ConfigProvider 组件](/material/smartui?comId=config-provider&appType=miniapp)。
346
+
347
+ | 名称 | 默认值 | 描述 |
348
+ | ----------------------------- | -------------------------------------- | ---- |
349
+ | --nav-bar-height | _var(--app-device-navbar-height, 46px)_ | 导航栏高度 |
350
+ | --nav-bar-round-min-height `v2.1.0` | _56px_ | 导航栏圆角存在时的最小高度 |
351
+ | --nav-bar-round-border-radius `v2.1.0` | _16px 16px 0px 0px_ | 是否显示导航栏圆角 |
352
+ | --nav-bar-background-color | _var(--app-B2, #ffffff)_ | 导航栏背景色 |
353
+ | --nav-bar-arrow-color | _var(--app-B2-N1, rgba(0, 0, 0, 1))_ | 导航栏箭头颜色 |
354
+ | --nav-bar-icon-size `@deprecated v2.7.0` | _32px_ | 导航栏图标大小 |
355
+ | --nav-bar-icon-color | _var(--app-B2-N1, rgba(0, 0, 0, 1))_ | 导航栏图标颜色 |
356
+ | --nav-bar-icon-margin `@deprecated v2.7.0` | _0_ | 导航栏图标外边距 |
357
+ | --nav-bar-text-font-size `v2.1.0` | _16px_ `v2.1.0` _17px_ `v2.7.3` | 导航栏侧边文字大小 |
358
+ | --nav-bar-text-font-weight `v2.7.0` | _600_ `v2.7.0` _normal_ `v2.7.3` | 导航栏侧边文字字体字重 |
359
+ | --nav-bar-text-color | _var(--app-B2-N2, rgba(0, 0, 0, 1))_ | 导航栏文字颜色 |
360
+ | --nav-bar-title-font-size | _17px_ | 导航栏标题文字大小 |
361
+ | --nav-bar-title-font-weight | _600_ | 导航栏标题字重 |
362
+ | --nav-bar-title-text-color | _var(--app-B2-N1, rgba(0, 0, 0, 1))_ | 导航栏标题文字颜色 |
363
+ | --nav-bar-home-font-size | _22px_ | 导航栏首页文字大小 |
364
+ | --nav-bar-home-font-weight | _600_ | 导航栏首页字重 |
365
+ | --nav-bar-home-text-color | _var(--app-B2-N1, rgba(0, 0, 0, 1))_ | 导航栏首页文字颜色 |
366
+ | --nav-bar-right-text-color `v2.5.1` | _var(--app-B2-N1, rgba(0, 0, 0, 1))_ | 导航栏右侧文字颜色 |
367
+ | --nav-bar-title-max-width `v2.6.0` | _56%_ `v2.6.0` _calc(100% - 98px - 16px)_ `v2.7.0` | 导航栏标题的宽度 |
368
+ | --nav-bar-side-width `v2.7.0` | _98px_ `v2.7.0` _80px_ `v2.7.3` | 两边默认宽度 |
369
+ | --nav-bar-text-padding `v2.7.0` | _20px_ `v2.7.0` _16px_ `v2.7.3` | 两边文字内边距 |
370
+ | --nav-bar-icon-padding `v2.7.0` | _16px_ | 两边图标内边距 |
371
+ | --nav-bar-title-margin `v2.7.0` | _16px_ | 标题外边距 |
372
+ | --nav-bar-home-max-width `v2.7.0` | _calc(100% - 98px - 16px)_ | 小程序首页时左侧标题最大宽度 |
373
+ | --nav-bar-side-width-min `v2.7.3` | _40px_ | 侧边min时宽度 |
374
+ | --nav-bar-side-width-max `v2.7.3` | _105px_ | 侧边max时宽度 |
375
+
376
+
377
+
378
+
@@ -0,0 +1,325 @@
1
+ ---
2
+ category: 数据录入
3
+ ---
4
+
5
+ # Slider 滑块
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-slider": "@tuya-miniapp/smart-ui/lib/normal-slider/index"
18
+ }
19
+ ```
20
+
21
+ ## 代码演示
22
+
23
+ ### 普通滑动条
24
+
25
+ > 注意 instanceId 值必选,需要设置为一个字符串值且不能数字开头,每个 slider 实例的 instanceId 不同
26
+
27
+ ```html
28
+ <smart-slider
29
+ instanceId="slider1"
30
+ trackStyle="height:4px"
31
+ barStyle="height:4px"
32
+ value="{{currentValue}}"
33
+ bind:change="onChange"
34
+ />
35
+ ```
36
+
37
+ ```js
38
+ Page({
39
+ data: {
40
+ currentValue: 50,
41
+ },
42
+ onChange(event) {
43
+ this.setData({
44
+ currentValue: event.detail.value,
45
+ });
46
+ },
47
+ });
48
+ ```
49
+
50
+ ### 间隔滑动条
51
+
52
+ 设置 `step` 属性可开启间隔拖动模式
53
+
54
+ ```html
55
+ <smart-slider
56
+ instanceId="slider2"
57
+ trackStyle="height:8px"
58
+ barStyle="height:8px"
59
+ thumbStyle="width:18px;height:18px;"
60
+ stepStyle="width:4px;height:4px;"
61
+ activeStepStyle="background:#fff;"
62
+ showSteps="{{true}}"
63
+ step="{{10}}"
64
+ min="{{0}}"
65
+ max="{{100}}"
66
+ value="{{currentValue}}"
67
+ bind:change="onChange"
68
+ />
69
+ ```
70
+
71
+ ```js
72
+ Page({
73
+ data: {
74
+ currentValue: 50,
75
+ },
76
+ onChange(event) {
77
+ this.setData({
78
+ currentValue: event.detail.value,
79
+ });
80
+ },
81
+ });
82
+ ```
83
+
84
+ ### 间隔滑动条隐藏滑块
85
+
86
+ 设置 `hideThumbButton` 为 `true` 可以隐藏滑块
87
+
88
+ ```html
89
+ <smart-slider
90
+ instanceId="slider3"
91
+ trackStyle="height:40px;border-radius:16px;"
92
+ barStyle="height:40px;border-radius:16px;"
93
+ thumbStyle="width:18px;height:18px;"
94
+ stepStyle="width:4px;height:12px;border-radius:4px;"
95
+ activeStepStyle="width:4px;height:12px;border-radius:4px;background:#fff;"
96
+ hideThumbButton="{{true}}"
97
+ showSteps="{{true}}"
98
+ step="{{30}}"
99
+ min="{{0}}"
100
+ max="{{90}}"
101
+ value="{{currentValue}}"
102
+ bind:change="onChange"
103
+ />
104
+ ```
105
+
106
+
107
+ ```js
108
+ Page({
109
+ data: {
110
+ currentValue: 50,
111
+ },
112
+ onChange(event) {
113
+ this.setData({
114
+ currentValue: event.detail.value,
115
+ });
116
+ },
117
+ });
118
+ ```
119
+
120
+ ### 拖动滑动条
121
+
122
+ 设置 `parcel` 为true,可以使滑块包裹在滑条内。
123
+
124
+ ```html
125
+ <smart-slider
126
+ instanceId="slider4"
127
+ parcel="{{true}}"
128
+ parcelMargin="{{2}}"
129
+ trackStyle="height:26px;border-radius:13px;"
130
+ barStyle="height:22px;border-radius:13px;"
131
+ thumbStyle="width:20px;height:20px;background:#fff;border-radius:50%;"
132
+ parcelThumbWidth="{{18}}"
133
+ parcelThumbHeight="{{18}}"
134
+ value="{{currentValue}}"
135
+ bind:change="onChange"
136
+ />
137
+ ```
138
+
139
+ ```js
140
+ Page({
141
+ data: {
142
+ currentValue: 50,
143
+ },
144
+ onChange(event) {
145
+ this.setData({
146
+ currentValue: event.detail.value,
147
+ });
148
+ },
149
+ });
150
+ ```
151
+
152
+
153
+ ### 拖动滑动条自定义样式1
154
+
155
+ 可通过 `trackStyle`、`barStyle`、`thumbStyle` 自定义滑槽、滑动条、滑块的样式
156
+
157
+ ```html
158
+ <smart-slider
159
+ instanceId="slider5"
160
+ trackStyle="height:45px;border-radius:8px;"
161
+ barStyle="height:45px;border-radius:8px;"
162
+ thumbStyle="width:15px;height:50px;background:#BBC5D4;border:2px solid #FFFFFF;box-shadow:0px 0px 2px 0px rgba(0, 0, 0, 0.5);border-radius:2px;"
163
+ value="{{currentValue}}"
164
+ bind:change="onChange"
165
+ />
166
+ ```
167
+
168
+ ```js
169
+ Page({
170
+ data: {
171
+ currentValue: 50,
172
+ },
173
+ onChange(event) {
174
+ this.setData({
175
+ currentValue: event.detail.value,
176
+ });
177
+ },
178
+ });
179
+ ```
180
+
181
+
182
+ ### 拖动滑动条自定义样式2
183
+
184
+ ```html
185
+ <smart-slider
186
+ instanceId="slider6"
187
+ parcel="{{true}}"
188
+ parcelMargin="{{2}}"
189
+ trackStyle="height:26px;border-radius:5px;"
190
+ barStyle="height:22px;border-radius:5px;"
191
+ parcelThumbWidth="{{3}}"
192
+ parcelThumbHeight="{{16}}"
193
+ thumbStyle="width:5px;height:16px;background:#fff;"
194
+ value="{{currentValue}}"
195
+ bind:change="onChange"
196
+ />
197
+ ```
198
+
199
+ ```js
200
+ Page({
201
+ data: {
202
+ currentValue: 50,
203
+ },
204
+ onChange(event) {
205
+ this.setData({
206
+ currentValue: event.detail.value,
207
+ });
208
+ },
209
+ });
210
+ ```
211
+
212
+ ### 双滑块滑动条
213
+
214
+ 两个滑块的滑动条,需要引用:
215
+
216
+ ```json
217
+ "usingComponents": {
218
+ "smart-range-slider": "@tuya-miniapp/smart-ui/lib/slider/index"
219
+ }
220
+ ```
221
+
222
+ ```html
223
+ <smart-range-slider
224
+ min="{{0}}"
225
+ max="{{100}}"
226
+ value="{{range}}"
227
+ bind:change="onRangeChange"
228
+ bar-height="4px"
229
+ inactive-color="#D8D9DC"
230
+ active-color="#007AFF"
231
+ />
232
+ ```
233
+
234
+ ```js
235
+ Page({
236
+ data: {
237
+ range: [10, 40],
238
+ },
239
+ onRangeChange(event) {
240
+ this.setData({
241
+ range: event.detail,
242
+ });
243
+ },
244
+ });
245
+ ```
246
+
247
+ ### 竖向
248
+
249
+ ```html
250
+ <smart-slider
251
+ instanceId="slider7"
252
+ direction="vertical"
253
+ reverse
254
+ step="{{5}}"
255
+ min="{{0}}"
256
+ max="{{100}}"
257
+ parcel
258
+ parcelMargin="{{2}}"
259
+ useParcelPadding="{{false}}"
260
+ parcelThumbWidth="{{12}}"
261
+ parcelThumbHeight="{{2}}"
262
+ thumbStyle="width: 12px;height:2px;border-radius:2px;background: #FFFFFF;"
263
+ trackStyle="width:48px;height:203px;border-radius:10px;background:rgba(0, 0, 0, 0.08);"
264
+ barStyle="width:48px;height:114px;background:#1989FA;"
265
+ />
266
+ ```
267
+
268
+ ## API
269
+
270
+ ### Props
271
+
272
+ | 参数 | 说明 | 类型 | 默认值 |
273
+ | -------------------------------- | -------------------------------------- | ------------ | -------- |
274
+ | active-step-style | 激活阶段样式 | _string_ | null |
275
+ | bar-style | 滑条样式 | _string_ | null |
276
+ | class-name | css 样式名 | _string_ | null |
277
+ | direction | 滑条方向("horizontal" | "vertical") | _string_ | null |
278
+ | disable | 是否禁用滑块 | _boolean_ | false |
279
+ | enable-touch | 是否启用触摸跳跃 | _boolean_ | true |
280
+ | enable-touch-bar | 是否启用触摸 bar 增加偏移 | _boolean_ | false |
281
+ | hidden | 是否隐藏组件 | _boolean_ | null |
282
+ | hide-bar-on-first-render | 是否在首次渲染时隐藏 bar | _boolean_ | false |
283
+ | hide-thumb | 是否隐藏滑块 | _boolean_ | false |
284
+ | hide-thumb-button | 是否隐藏 thumb 按钮 | _boolean_ | false |
285
+ | hot-area-style | 点击热区样式 | _string_ | null |
286
+ | instance-id | 唯一 ID | _string_ | null |
287
+ | max | 最大值 | _number_ | 100 |
288
+ | min | 最小值 | _number_ | 0 |
289
+ | parcel | 是否启用 parcel 模式 | _boolean_ | false |
290
+ | parcel-margin | parcel 模式下滑块边距 | _number_ | 0 |
291
+ | parcel-thumb-height | parcel 模式下滑块高度 | _number_ | null |
292
+ | parcel-thumb-width | parcel 模式下滑块宽度 | _number_ | null |
293
+ | reverse | 是否反转滑条 | _boolean_ | false |
294
+ | show-steps | 是否显示阶段提示 | _boolean_ | false |
295
+ | show-text | 是否在 bar 上显示文本 | _boolean_ | null |
296
+ | step | 阶段值 | _number_ | 1 |
297
+ | step-style | 阶段样式 | _string_ | null |
298
+ | text-style | 文本样式 | _string_ | null |
299
+ | text-template | 文本格式化模板,例如 "比率 {{text}} %" | _string_ | null |
300
+ | thumb-height | 滑块高度 | _number_ | null |
301
+ | thumb-style | 滑块样式 | _string_ | null |
302
+ | thumb-style-calc | 动态计算 thumb 样式 | _null_ | null |
303
+ | thumb-style-render-formatter | 自定义 thumb 样式渲染格式化函数 | _null_ | null |
304
+ | thumb-style-render-value-reverse | 是否反转 thumb 样式渲染的值 | _boolean_ | false |
305
+ | thumb-style-render-value-scale | 自定义 thumb 样式渲染时的值缩放比例 | _number_ | 1 |
306
+ | thumb-style-render-value-start | 自定义 thumb 样式渲染时的起始值 | _number_ | 1 |
307
+ | thumb-width | 滑块宽度 | _number_ | null |
308
+ | thumb-wrap-style | 滑块包装样式 | _null_ | null |
309
+ | track-style | 轨道样式 | _string_ | null |
310
+ | value | 右滑块初始值/单向滑条初始值 | _number_ | 0 |
311
+
312
+ ### Slot
313
+
314
+ | 名称 | 说明 |
315
+ | ----- | -------- |
316
+ | bar | 滑动条插槽 |
317
+ | thumb | 滑块插槽 |
318
+
319
+ ### Events
320
+
321
+ | 事件名 | 说明 | 参数 |
322
+ | ----------- | ------------ | ---------------------------- |
323
+ | bind:change | 值改变后触发 | event.detail.value: 当前进度 |
324
+ | bind:end | 拖动松手触发 | event.detail.value: 当前进度 |
325
+ | bind:start | 拖动前触发 | event.detail.value: 当前进度 |