@tdesign/uniapp 0.8.0 → 0.9.0
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/CHANGELOG.md +25 -0
- package/README.md +43 -34
- package/dist/action-sheet/README.md +8 -3
- package/dist/avatar/README.md +3 -1
- package/dist/back-top/README.md +3 -1
- package/dist/badge/README.en-US.md +1 -0
- package/dist/badge/README.md +4 -1
- package/dist/badge/badge.css +1 -1
- package/dist/button/README.md +3 -1
- package/dist/button/button.vue +5 -0
- package/dist/calendar/README.md +3 -1
- package/dist/calendar/calendar.vue +6 -2
- package/dist/cascader/README.md +3 -1
- package/dist/cell/README.md +3 -1
- package/dist/checkbox/README.md +3 -1
- package/dist/col/README.md +3 -1
- package/dist/collapse/README.md +3 -1
- package/dist/color-picker/README.md +3 -1
- package/dist/common/common.ts +121 -5
- package/dist/common/src/index.js +0 -1
- package/dist/common/style/theme/index-light.css +282 -0
- package/dist/common/style/theme/index-light.less +9 -0
- package/dist/common/style/theme/raw/_components-light.less +8 -0
- package/dist/common/style/theme/raw/_light-only.less +181 -0
- package/dist/common/validator.ts +496 -0
- package/dist/config-provider/README.md +3 -1
- package/dist/count-down/README.md +3 -1
- package/dist/date-time-picker/README.md +3 -1
- package/dist/dialog/README.md +3 -1
- package/dist/divider/README.md +3 -1
- package/dist/drawer/README.md +3 -1
- package/dist/dropdown-item/dropdown-item.vue +2 -0
- package/dist/dropdown-menu/README.md +2 -2
- package/dist/dropdown-menu/dropdown-menu.vue +1 -1
- package/dist/empty/README.md +3 -1
- package/dist/fab/README.md +3 -1
- package/dist/fab/fab.vue +2 -2
- package/dist/fab/props.ts +1 -1
- package/dist/fab/type.ts +1 -1
- package/dist/footer/README.md +3 -1
- package/dist/form/README.en-US.md +2 -2
- package/dist/form/README.md +5 -3
- package/dist/form/form.vue +1 -1
- package/dist/form/type.ts +3 -3
- package/dist/form-item/form-item.css +6 -2
- package/dist/form-item/form-item.vue +30 -24
- package/dist/form-item/type.ts +2 -2
- package/dist/grid/README.md +3 -1
- package/dist/guide/README.md +3 -1
- package/dist/icon/README.md +10 -7
- package/dist/icon/icon.css +1633 -1624
- package/dist/image/README.md +3 -1
- package/dist/image-viewer/README.md +3 -1
- package/dist/index.js +13 -0
- package/dist/indexes/README.md +3 -1
- package/dist/indexes/computed.js +6 -2
- package/dist/indexes/indexes.css +7 -2
- package/dist/indexes/indexes.vue +1 -1
- package/dist/indexes/props.ts +5 -0
- package/dist/indexes/type.ts +5 -0
- package/dist/input/README.md +3 -1
- package/dist/input/input.vue +8 -32
- package/dist/link/README.md +3 -1
- package/dist/loading/README.md +3 -1
- package/dist/message/README.md +8 -3
- package/dist/mixins/page-scroll.d.ts +19 -0
- package/dist/mixins/skyline.js +1 -1
- package/dist/navbar/README.md +3 -1
- package/dist/notice-bar/README.md +3 -1
- package/dist/overlay/README.md +3 -1
- package/dist/picker/README.md +3 -1
- package/dist/popover/README.md +3 -1
- package/dist/popup/README.md +3 -1
- package/dist/progress/README.md +2 -2
- package/dist/pull-down-refresh/README.md +3 -1
- package/dist/qrcode/README.md +3 -1
- package/dist/radio/README.md +3 -1
- package/dist/rate/README.md +3 -1
- package/dist/rate/rate.css +1 -0
- package/dist/result/README.md +3 -1
- package/dist/search/README.md +3 -1
- package/dist/search/search.css +5 -0
- package/dist/search/search.vue +7 -12
- package/dist/segmented/README.en-US.md +42 -0
- package/dist/segmented/README.md +75 -0
- package/dist/segmented/props.ts +31 -0
- package/dist/segmented/segmented.css +66 -0
- package/dist/segmented/segmented.vue +174 -0
- package/dist/segmented/type.ts +41 -0
- package/dist/side-bar/README.md +3 -1
- package/dist/skeleton/README.md +3 -1
- package/dist/slider/README.md +3 -1
- package/dist/stepper/README.md +3 -1
- package/dist/steps/README.md +3 -1
- package/dist/sticky/README.md +3 -1
- package/dist/swipe-cell/README.md +3 -1
- package/dist/swiper/README.md +3 -1
- package/dist/switch/README.md +3 -1
- package/dist/tab-bar/README.md +3 -1
- package/dist/tab-bar-item/tab-bar-item.vue +4 -6
- package/dist/table/README.en-US.md +72 -0
- package/dist/table/README.md +117 -0
- package/dist/table/base-table-props.ts +105 -0
- package/dist/table/props.ts +94 -0
- package/dist/table/table.css +251 -0
- package/dist/table/table.vue +551 -0
- package/dist/table/type.ts +180 -0
- package/dist/tabs/README.md +3 -1
- package/dist/tabs/tabs.css +4 -0
- package/dist/tag/README.md +3 -1
- package/dist/textarea/README.md +3 -1
- package/dist/textarea/textarea.vue +1 -25
- package/dist/theme-light.css +282 -0
- package/dist/theme-light.css.d.ts +2 -0
- package/dist/theme-light.less +1 -0
- package/dist/theme-light.less.d.ts +2 -0
- package/dist/theme.css +467 -0
- package/dist/theme.css.d.ts +2 -0
- package/dist/theme.less +1 -0
- package/dist/theme.less.d.ts +2 -0
- package/dist/toast/README.md +3 -1
- package/dist/transition/README.md +4 -6
- package/dist/tree-select/README.md +3 -1
- package/dist/types/index.d.ts +17 -0
- package/dist/types/segmented.d.ts +7 -0
- package/dist/types/table.d.ts +7 -0
- package/dist/upload/README.md +3 -1
- package/dist/watermark/README.md +3 -1
- package/global.d.ts +2 -0
- package/package.json +66 -8
- package/script/postinstall.js +87 -0
- package/dist/common/src/superComponent.js +0 -5
- package/dist/common/validator.js +0 -210
- package/dist/script/postinstall.js +0 -46
package/dist/image/README.md
CHANGED
|
@@ -9,7 +9,9 @@ isComponent: true
|
|
|
9
9
|
|
|
10
10
|
## 引入
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
推荐使用 easycom 模式引入组件,配置后无需手动 import 即可直接在模板中使用 `<t-image-viewer />`。详细配置请参考 [快速开始](../getting-started)。
|
|
13
|
+
|
|
14
|
+
如需手动引入:
|
|
13
15
|
|
|
14
16
|
```js
|
|
15
17
|
import TImageViewer from '@tdesign/uniapp/image-viewer/image-viewer.vue';
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
1
|
// This file is intentionally empty.
|
|
2
2
|
// It serves as the runtime entry point for module resolvers.
|
|
3
3
|
// All meaningful exports from this package are type-only.
|
|
4
|
+
|
|
5
|
+
// mixins
|
|
6
|
+
export { handlePageScroll } from './mixins/page-scroll';
|
|
7
|
+
|
|
8
|
+
// 函数式调用
|
|
9
|
+
export { default as DialogPlugin } from './dialog/index';
|
|
10
|
+
export { default as Dialog } from './dialog/index';
|
|
11
|
+
export { default as MessagePlugin } from './message/index';
|
|
12
|
+
export { default as Message } from './message/index';
|
|
13
|
+
export { default as Toast, showToast, hideToast } from './toast/index';
|
|
14
|
+
export { default as ToastPlugin } from './toast/index';
|
|
15
|
+
export { default as ActionSheetPlugin, ActionSheetTheme } from './action-sheet/index';
|
|
16
|
+
export { default as ActionSheet } from './action-sheet/index';
|
package/dist/indexes/README.md
CHANGED
package/dist/indexes/computed.js
CHANGED
package/dist/indexes/indexes.css
CHANGED
|
@@ -5,17 +5,22 @@
|
|
|
5
5
|
.t-indexes__sidebar {
|
|
6
6
|
position: fixed;
|
|
7
7
|
right: var(--td-indexes-sidebar-right, 16rpx);
|
|
8
|
-
width: var(--td-indexes-sidebar-item-size, 40rpx);
|
|
9
8
|
color: var(--td-indexes-sidebar-color, var(--td-text-color-primary, var(--td-font-gray-1, rgba(0, 0, 0, 0.9))));
|
|
10
9
|
font: var(--td-indexes-sidebar-font, var(--td-font-body-small, 24rpx / 40rpx var(--td-font-family, PingFang SC, Microsoft YaHei, Arial Regular)));
|
|
11
10
|
display: flex;
|
|
11
|
+
align-items: center;
|
|
12
|
+
justify-content: center;
|
|
12
13
|
flex-flow: column nowrap;
|
|
13
14
|
top: 50%;
|
|
14
15
|
transform: translateY(-50%);
|
|
15
16
|
z-index: 1;
|
|
16
17
|
}
|
|
17
18
|
.t-indexes__sidebar-item {
|
|
18
|
-
|
|
19
|
+
min-width: var(--td-indexes-sidebar-item-size, 40rpx);
|
|
20
|
+
height: var(--td-indexes-sidebar-item-size, 40rpx);
|
|
21
|
+
padding: 0 calc(var(--td-spacer, 16rpx) / 2);
|
|
22
|
+
box-sizing: border-box;
|
|
23
|
+
border-radius: var(--td-indexes-sidebar-item-size, 40rpx);
|
|
19
24
|
position: relative;
|
|
20
25
|
text-align: center;
|
|
21
26
|
}
|
package/dist/indexes/indexes.vue
CHANGED
package/dist/indexes/props.ts
CHANGED
package/dist/indexes/type.ts
CHANGED
package/dist/input/README.md
CHANGED
package/dist/input/input.vue
CHANGED
|
@@ -143,15 +143,16 @@
|
|
|
143
143
|
</view>
|
|
144
144
|
</template>
|
|
145
145
|
<script>
|
|
146
|
-
import TIcon from '../icon/icon';
|
|
147
|
-
import { uniComponent } from '../common/src/index';
|
|
148
146
|
import { prefix } from '../common/config';
|
|
149
|
-
import
|
|
147
|
+
import { RELATION_MAP } from '../common/relation/parent-map';
|
|
148
|
+
import { uniComponent } from '../common/src/index';
|
|
150
149
|
import { getCharacterLength, calcIcon, coalesce, nextTick } from '../common/utils';
|
|
150
|
+
import tools from '../common/utils.wxs';
|
|
151
151
|
import { isDef } from '../common/validator';
|
|
152
|
+
import TIcon from '../icon/icon';
|
|
153
|
+
|
|
152
154
|
import { getInputClass } from './computed.js';
|
|
153
|
-
import
|
|
154
|
-
import { RELATION_MAP } from '../common/relation/parent-map.js';
|
|
155
|
+
import props from './props';
|
|
155
156
|
|
|
156
157
|
|
|
157
158
|
const name = `${prefix}-input`;
|
|
@@ -205,9 +206,6 @@ export default {
|
|
|
205
206
|
tools,
|
|
206
207
|
|
|
207
208
|
dataValue: coalesce(this.value, this.defaultValue),
|
|
208
|
-
|
|
209
|
-
// rawValue: '',
|
|
210
|
-
// innerMaxLen: -1,
|
|
211
209
|
};
|
|
212
210
|
},
|
|
213
211
|
watch: {
|
|
@@ -282,30 +280,7 @@ export default {
|
|
|
282
280
|
this.dataValue = value;
|
|
283
281
|
this.count = isDef(value) ? String(value).length : 0;
|
|
284
282
|
}
|
|
285
|
-
|
|
286
|
-
// this.updateInnerMaxLen();
|
|
287
283
|
},
|
|
288
|
-
// updateInnerMaxLen() {
|
|
289
|
-
// this.innerMaxLen = this.getInnerMaxLen();
|
|
290
|
-
// },
|
|
291
|
-
// getInnerMaxLen() {
|
|
292
|
-
// const {
|
|
293
|
-
// allowInputOverMax,
|
|
294
|
-
// maxcharacter,
|
|
295
|
-
// maxlength,
|
|
296
|
-
// dataValue,
|
|
297
|
-
// rawValue,
|
|
298
|
-
// count,
|
|
299
|
-
// } = this;
|
|
300
|
-
// return getInnerMaxLen({
|
|
301
|
-
// allowInputOverMax,
|
|
302
|
-
// maxcharacter,
|
|
303
|
-
// maxlength,
|
|
304
|
-
// dataValue,
|
|
305
|
-
// rawValue,
|
|
306
|
-
// count,
|
|
307
|
-
// });
|
|
308
|
-
// },
|
|
309
284
|
|
|
310
285
|
updateClearIconVisible(value = false) {
|
|
311
286
|
const { clearTrigger, disabled, readonly } = this;
|
|
@@ -370,8 +345,9 @@ export default {
|
|
|
370
345
|
},
|
|
371
346
|
|
|
372
347
|
clearInput(e) {
|
|
348
|
+
this.updateValue('');
|
|
349
|
+
this.emitChange({ value: this.dataValue });
|
|
373
350
|
this.$emit('clear', e.detail);
|
|
374
|
-
this.dataValue = '';
|
|
375
351
|
},
|
|
376
352
|
|
|
377
353
|
onKeyboardHeightChange(e) {
|
package/dist/link/README.md
CHANGED
package/dist/loading/README.md
CHANGED
package/dist/message/README.md
CHANGED
|
@@ -8,7 +8,9 @@ isComponent: true
|
|
|
8
8
|
|
|
9
9
|
## 引入
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
推荐使用 easycom 模式引入组件,配置后无需手动 import 即可直接在模板中使用 `<t-message />`。详细配置请参考 [快速开始](../getting-started)。
|
|
12
|
+
|
|
13
|
+
如需手动引入:
|
|
12
14
|
|
|
13
15
|
```js
|
|
14
16
|
import TMessage from '@tdesign/uniapp/message/message.vue';
|
|
@@ -16,10 +18,13 @@ import TMessage from '@tdesign/uniapp/message/message.vue';
|
|
|
16
18
|
|
|
17
19
|
### 引入 API
|
|
18
20
|
|
|
19
|
-
若以 API 形式调用 Message
|
|
21
|
+
若以 API 形式调用 Message,则需在页面中引入组件 API:
|
|
20
22
|
|
|
21
23
|
```js
|
|
22
|
-
|
|
24
|
+
// MessagePlugin 和 Message 均可使用
|
|
25
|
+
import { MessagePlugin } from '@tdesign/uniapp';
|
|
26
|
+
// 或
|
|
27
|
+
// import { Message } from '@tdesign/uniapp';
|
|
23
28
|
```
|
|
24
29
|
|
|
25
30
|
### 组件类型
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
interface Bus {
|
|
2
|
+
on(evtName: string, listener: (...args: any[]) => void): void;
|
|
3
|
+
once(evtName: string, listener: (...args: any[]) => void): void;
|
|
4
|
+
emit(evtName: string, ...args: any[]): void;
|
|
5
|
+
off(evtName: string, listener?: (...args: any[]) => void): void;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export declare const bus: Bus;
|
|
9
|
+
export declare const PAGE_SCROLL_EVENT_NAME: string;
|
|
10
|
+
|
|
11
|
+
declare function pageScrollMixin(
|
|
12
|
+
funcName?: string,
|
|
13
|
+
useBus?: boolean,
|
|
14
|
+
): Record<string, any>;
|
|
15
|
+
|
|
16
|
+
export default pageScrollMixin;
|
|
17
|
+
|
|
18
|
+
export declare function getScroller(el: Element, root?: Window): Element | Window;
|
|
19
|
+
export declare function handlePageScroll(e: any): Bus;
|
package/dist/mixins/skyline.js
CHANGED
package/dist/navbar/README.md
CHANGED
|
@@ -9,7 +9,9 @@ isComponent: true
|
|
|
9
9
|
|
|
10
10
|
## 引入
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
推荐使用 easycom 模式引入组件,配置后无需手动 import 即可直接在模板中使用 `<t-notice-bar />`。详细配置请参考 [快速开始](../getting-started)。
|
|
13
|
+
|
|
14
|
+
如需手动引入:
|
|
13
15
|
|
|
14
16
|
```js
|
|
15
17
|
import TNoticeBar from '@tdesign/uniapp/notice-bar/notice-bar.vue';
|
package/dist/overlay/README.md
CHANGED
package/dist/picker/README.md
CHANGED
package/dist/popover/README.md
CHANGED
package/dist/popup/README.md
CHANGED
package/dist/progress/README.md
CHANGED
|
@@ -9,9 +9,9 @@ isComponent: true
|
|
|
9
9
|
|
|
10
10
|
## 引入
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
推荐使用 easycom 模式引入组件,配置后无需手动 import 即可直接在模板中使用 `<t-progress />`。详细配置请参考 [快速开始](../getting-started)。
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
如需手动引入:
|
|
15
15
|
|
|
16
16
|
```js
|
|
17
17
|
import TProgress from '@tdesign/uniapp/progress/progress.vue';
|
|
@@ -9,7 +9,9 @@ isComponent: true
|
|
|
9
9
|
|
|
10
10
|
## 引入
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
推荐使用 easycom 模式引入组件,配置后无需手动 import 即可直接在模板中使用 `<t-pull-down-refresh />`。详细配置请参考 [快速开始](../getting-started)。
|
|
13
|
+
|
|
14
|
+
如需手动引入:
|
|
13
15
|
|
|
14
16
|
```js
|
|
15
17
|
import TPullDownRefresh from '@tdesign/uniapp/pull-down-refresh/pull-down-refresh.vue';
|
package/dist/qrcode/README.md
CHANGED
package/dist/radio/README.md
CHANGED
package/dist/rate/README.md
CHANGED
package/dist/rate/rate.css
CHANGED
|
@@ -60,6 +60,7 @@
|
|
|
60
60
|
box-shadow: var(--td-shadow-1, 0 1px 10px rgba(0, 0, 0, 0.05), 0 4px 5px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.12));
|
|
61
61
|
background-color: var(--td-bg-color-container, var(--td-font-white-1, #ffffff));
|
|
62
62
|
transform: translateX(-50%);
|
|
63
|
+
z-index: 2;
|
|
63
64
|
}
|
|
64
65
|
.t-rate__tips--bottom {
|
|
65
66
|
top: calc(100% + 16rpx);
|
package/dist/result/README.md
CHANGED
package/dist/search/README.md
CHANGED
package/dist/search/search.css
CHANGED
|
@@ -67,6 +67,11 @@
|
|
|
67
67
|
:deep(.t-search__result-item--highLight) {
|
|
68
68
|
color: var(--td-search-result-high-light-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
|
|
69
69
|
}
|
|
70
|
+
.t-search__result-list {
|
|
71
|
+
max-height: 560rpx;
|
|
72
|
+
overflow-y: auto;
|
|
73
|
+
-webkit-overflow-scrolling: touch;
|
|
74
|
+
}
|
|
70
75
|
.t-search__result-list :deep(.t-search__result-item) {
|
|
71
76
|
padding-left: 0;
|
|
72
77
|
}
|
package/dist/search/search.vue
CHANGED
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
/>
|
|
78
78
|
</view>
|
|
79
79
|
<view
|
|
80
|
-
v-if="
|
|
80
|
+
v-if="isSearching && resultList.length > 0 && !isSelected"
|
|
81
81
|
:class="classPrefix + '__result-list'"
|
|
82
82
|
aria-role="listbox"
|
|
83
83
|
>
|
|
@@ -142,8 +142,8 @@ export default {
|
|
|
142
142
|
return {
|
|
143
143
|
classPrefix: name,
|
|
144
144
|
prefix,
|
|
145
|
-
isShowResultList: false,
|
|
146
145
|
isSelected: false,
|
|
146
|
+
isSearching: false,
|
|
147
147
|
showClearIcon: false,
|
|
148
148
|
tools,
|
|
149
149
|
|
|
@@ -156,16 +156,8 @@ export default {
|
|
|
156
156
|
resultList: {
|
|
157
157
|
handler(val) {
|
|
158
158
|
const { isSelected } = this;
|
|
159
|
-
if (val.length) {
|
|
160
|
-
|
|
161
|
-
// 已选择
|
|
162
|
-
this.isShowResultList = false;
|
|
163
|
-
this.isSelected = false;
|
|
164
|
-
} else {
|
|
165
|
-
this.isShowResultList = true;
|
|
166
|
-
}
|
|
167
|
-
} else {
|
|
168
|
-
this.isShowResultList = false;
|
|
159
|
+
if (val.length && isSelected) {
|
|
160
|
+
this.isSelected = false;
|
|
169
161
|
}
|
|
170
162
|
},
|
|
171
163
|
immediate: true,
|
|
@@ -231,6 +223,7 @@ export default {
|
|
|
231
223
|
|
|
232
224
|
onFocus(e) {
|
|
233
225
|
const { value } = e.detail;
|
|
226
|
+
this.isSearching = true;
|
|
234
227
|
this.updateClearIconVisible(true);
|
|
235
228
|
this.$emit('focus', { value });
|
|
236
229
|
},
|
|
@@ -243,6 +236,7 @@ export default {
|
|
|
243
236
|
|
|
244
237
|
handleClear() {
|
|
245
238
|
this.dataValue = '';
|
|
239
|
+
this.isSearching = false;
|
|
246
240
|
this.$emit('clear', { value: '' });
|
|
247
241
|
this.$emit('change', {
|
|
248
242
|
value: '',
|
|
@@ -256,6 +250,7 @@ export default {
|
|
|
256
250
|
},
|
|
257
251
|
|
|
258
252
|
onActionClick() {
|
|
253
|
+
this.isSearching = false;
|
|
259
254
|
this.$emit('action-click');
|
|
260
255
|
},
|
|
261
256
|
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
:: BASE_DOC ::
|
|
2
|
+
|
|
3
|
+
## API
|
|
4
|
+
|
|
5
|
+
### Segmented Props
|
|
6
|
+
|
|
7
|
+
name | type | default | description | required
|
|
8
|
+
-- | -- | -- | -- | --
|
|
9
|
+
custom-style | Object | - | CSS(Cascading Style Sheets) | N
|
|
10
|
+
block | Boolean | false | \- | N
|
|
11
|
+
disabled | Boolean | - | \- | N
|
|
12
|
+
options | Object | [] | Typescript: `string[] \| number[] \| SegmentedItem[] ` `interface SegmentedItem { value: string \| number; label?: string; icon?: string \| object; disabled?: boolean }`。[see more ts definition](https://github.com/tencent/tdesign-miniprogram/blob/develop/packages/uniapp-components/segmented/type.ts) | N
|
|
13
|
+
value | String / Number | - | `v-model:value` is supported | N
|
|
14
|
+
default-value | String / Number | - | uncontrolled property | N
|
|
15
|
+
|
|
16
|
+
### Segmented Events
|
|
17
|
+
|
|
18
|
+
name | params | description
|
|
19
|
+
-- | -- | --
|
|
20
|
+
change | `(context: { value: string \| number, selectedOption: SegmentedItem })` | \-
|
|
21
|
+
|
|
22
|
+
### Segmented External Classes
|
|
23
|
+
|
|
24
|
+
className | Description
|
|
25
|
+
-- | --
|
|
26
|
+
t-class | \-
|
|
27
|
+
t-class-item | \-
|
|
28
|
+
t-class-thumb | \-
|
|
29
|
+
|
|
30
|
+
### CSS Variables
|
|
31
|
+
|
|
32
|
+
The component provides the following CSS variables, which can be used to customize styles.
|
|
33
|
+
Name | Default Value | Description
|
|
34
|
+
-- | -- | --
|
|
35
|
+
--td-font-size-m | 32rpx | -
|
|
36
|
+
--td-segmented-bg-color | @bg-color-component-disabled | -
|
|
37
|
+
--td-segmented-item-active-bg | @bg-color-container | -
|
|
38
|
+
--td-segmented-item-active-color | @brand-color | -
|
|
39
|
+
--td-segmented-item-color | @text-color-primary | -
|
|
40
|
+
--td-segmented-item-disabled-color | @text-color-disabled | -
|
|
41
|
+
--td-segmented-item-label-font | @font-body-medium | -
|
|
42
|
+
--td-segmented-transition | all @anim-duration-base @anim-time-fn-easing | -
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Segmented 分段控制器
|
|
3
|
+
description: 用于展示多个选项并允许用户选择其中单个选项。
|
|
4
|
+
spline: data
|
|
5
|
+
isComponent: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## 引入
|
|
10
|
+
|
|
11
|
+
推荐使用 easycom 模式引入组件,配置后无需手动 import 即可直接在模板中使用 `<t-segmented />`。详细配置请参考 [快速开始](../getting-started)。
|
|
12
|
+
|
|
13
|
+
如需手动引入:
|
|
14
|
+
|
|
15
|
+
```js
|
|
16
|
+
import TSegmented from '@tdesign/uniapp/segmented/segmented.vue';
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### 组件类型
|
|
20
|
+
|
|
21
|
+
基础
|
|
22
|
+
|
|
23
|
+
{{ base }}
|
|
24
|
+
|
|
25
|
+
自适应宽度
|
|
26
|
+
|
|
27
|
+
{{ block }}
|
|
28
|
+
|
|
29
|
+
### 组件状态
|
|
30
|
+
|
|
31
|
+
控制器禁用态
|
|
32
|
+
|
|
33
|
+
{{ disabled }}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## API
|
|
37
|
+
|
|
38
|
+
### Segmented Props
|
|
39
|
+
|
|
40
|
+
名称 | 类型 | 默认值 | 描述 | 必传
|
|
41
|
+
-- | -- | -- | -- | --
|
|
42
|
+
custom-style | Object | - | 自定义样式 | N
|
|
43
|
+
block | Boolean | false | 是否撑满父元素宽度 | N
|
|
44
|
+
disabled | Boolean | - | 是否禁用 | N
|
|
45
|
+
options | Object | [] | 数据化配置选项内容。TS 类型:`string[] \| number[] \| SegmentedItem[] ` `interface SegmentedItem { value: string \| number; label?: string; icon?: string \| object; disabled?: boolean }`。[详细类型定义](https://github.com/tencent/tdesign-miniprogram/blob/develop/packages/uniapp-components/segmented/type.ts) | N
|
|
46
|
+
value | String / Number | - | 当前选中的值。支持语法糖 `v-model:value` | N
|
|
47
|
+
default-value | String / Number | - | 当前选中的值。非受控属性 | N
|
|
48
|
+
|
|
49
|
+
### Segmented Events
|
|
50
|
+
|
|
51
|
+
名称 | 参数 | 描述
|
|
52
|
+
-- | -- | --
|
|
53
|
+
change | `(context: { value: string \| number, selectedOption: SegmentedItem })` | 选项值发生变化时触发
|
|
54
|
+
|
|
55
|
+
### Segmented External Classes
|
|
56
|
+
|
|
57
|
+
类名 | 描述
|
|
58
|
+
-- | --
|
|
59
|
+
t-class | 根节点样式类
|
|
60
|
+
t-class-item | 列表子项样式类
|
|
61
|
+
t-class-thumb | 动画背景样式类
|
|
62
|
+
|
|
63
|
+
### CSS Variables
|
|
64
|
+
|
|
65
|
+
组件提供了下列 CSS 变量,可用于自定义样式。
|
|
66
|
+
名称 | 默认值 | 描述
|
|
67
|
+
-- | -- | --
|
|
68
|
+
--td-font-size-m | 32rpx | -
|
|
69
|
+
--td-segmented-bg-color | @bg-color-component-disabled | -
|
|
70
|
+
--td-segmented-item-active-bg | @bg-color-container | -
|
|
71
|
+
--td-segmented-item-active-color | @brand-color | -
|
|
72
|
+
--td-segmented-item-color | @text-color-primary | -
|
|
73
|
+
--td-segmented-item-disabled-color | @text-color-disabled | -
|
|
74
|
+
--td-segmented-item-label-font | @font-body-medium | -
|
|
75
|
+
--td-segmented-transition | all @anim-duration-base @anim-time-fn-easing | -
|