Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(slider): support vertical props #545

Merged
merged 3 commits into from
Feb 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified db/TDesign.db
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

## API


### Slider Props

name | type | default | description | required
Expand All @@ -21,5 +20,5 @@ theme | String | default | options: default/capsule | N
value | Number / Array | 0 | Typescript:`SliderValue` `type SliderValue = number \| Array<number>`。[see more ts definition](https://github.com/Tencent/tdesign-mobile-react/tree/develop/src/slider/type.ts) | N
defaultValue | Number / Array | 0 | uncontrolled property。Typescript:`SliderValue` `type SliderValue = number \| Array<number>`。[see more ts definition](https://github.com/Tencent/tdesign-mobile-react/tree/develop/src/slider/type.ts) | N
onChange | Function | | Typescript:`(value: SliderValue) => void`<br/> | N
onDragend | Function | | Typescript:`(value: SliderValue, e: TouchEvent) => void`<br/> | N
onDragstart | Function | | Typescript:`(e: TouchEvent) => void`<br/> | N
onDragend | Function | | Typescript:`(value: SliderValue, context: {e: TouchEvent}) => void`<br/> | N
onDragstart | Function | | Typescript:`(context: {e: TouchEvent}) => void`<br/> | N
5 changes: 2 additions & 3 deletions packages/products/tdesign-mobile-react/src/slider/slider.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

## API


### Slider Props

名称 | 类型 | 默认值 | 描述 | 必传
Expand All @@ -21,5 +20,5 @@ theme | String | default | 滑块风格。可选项:default/capsule | N
value | Number / Array | 0 | 滑块值。TS 类型:`SliderValue` `type SliderValue = number \| Array<number>`。[详细类型定义](https://github.com/Tencent/tdesign-mobile-react/tree/develop/src/slider/type.ts) | N
defaultValue | Number / Array | 0 | 滑块值。非受控属性。TS 类型:`SliderValue` `type SliderValue = number \| Array<number>`。[详细类型定义](https://github.com/Tencent/tdesign-mobile-react/tree/develop/src/slider/type.ts) | N
onChange | Function | | TS 类型:`(value: SliderValue) => void`<br/>滑块值变化时触发 | N
onDragend | Function | | TS 类型:`(value: SliderValue, e: TouchEvent) => void`<br/>结束拖动时触发 | N
onDragstart | Function | | TS 类型:`(e: TouchEvent) => void`<br/>开始拖动时触发 | N
onDragend | Function | | TS 类型:`(value: SliderValue, context: {e: TouchEvent}) => void`<br/>结束拖动时触发 | N
onDragstart | Function | | TS 类型:`(context: {e: TouchEvent}) => void`<br/>开始拖动时触发 | N
4 changes: 2 additions & 2 deletions packages/products/tdesign-mobile-react/src/slider/type.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,11 @@ export interface TdSliderProps {
/**
* 结束拖动时触发
*/
onDragend?: (value: SliderValue, e: TouchEvent<HTMLDivElement>) => void;
onDragend?: (value: SliderValue, context: { e: TouchEvent<HTMLDivElement> }) => void;
/**
* 开始拖动时触发
*/
onDragstart?: (e: TouchEvent<HTMLDivElement>) => void;
onDragstart?: (context: { e: TouchEvent<HTMLDivElement> }) => void;
}

export interface SliderMarks {
Expand Down
6 changes: 6 additions & 0 deletions packages/products/tdesign-mobile-vue/src/slider/props.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,12 @@ export default {
type: [Number, Array] as PropType<TdSliderProps['defaultValue']>,
default: 0,
},
/** 是否是垂直的滑块(渲染垂直滑块时,默认高度为200px,可通过修改`--td-slider-bar-height`来自定义高度) */
vertical: Boolean,
/** 滑块值变化时触发 */
onChange: Function as PropType<TdSliderProps['onChange']>,
/** 结束拖动时触发 */
onDragend: Function as PropType<TdSliderProps['onDragend']>,
/** 开始拖动时触发 */
onDragstart: Function as PropType<TdSliderProps['onDragstart']>,
};
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,15 @@ step | Number | 1 | \- | N
theme | String | default | options: default/capsule | N
value | Number / Array | 0 | `v-model` and `v-model:value` is supported。Typescript:`SliderValue` `type SliderValue = number \| Array<number>`。[see more ts definition](https://github.com/Tencent/tdesign-mobile-vue/tree/develop/src/slider/type.ts) | N
defaultValue | Number / Array | 0 | uncontrolled property。Typescript:`SliderValue` `type SliderValue = number \| Array<number>`。[see more ts definition](https://github.com/Tencent/tdesign-mobile-vue/tree/develop/src/slider/type.ts) | N
vertical | Boolean | false | \- | N
onChange | Function | | Typescript:`(value: SliderValue) => void`<br/> | N
onDragend | Function | | Typescript:`(value: SliderValue, context: {e: TouchEvent}) => void`<br/> | N
onDragstart | Function | | Typescript:`(context: {e: TouchEvent}) => void`<br/> | N

### Slider Events

name | params | description
-- | -- | --
change | `(value: SliderValue)` | \-
dragend | `(value: SliderValue, context: {e: TouchEvent})` | \-
dragstart | `(context: {e: TouchEvent})` | \-
5 changes: 5 additions & 0 deletions packages/products/tdesign-mobile-vue/src/slider/slider.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,15 @@ step | Number | 1 | 步长 | N
theme | String | default | 滑块风格。可选项:default/capsule | N
value | Number / Array | 0 | 滑块值。支持语法糖 `v-model` 或 `v-model:value`。TS 类型:`SliderValue` `type SliderValue = number \| Array<number>`。[详细类型定义](https://github.com/Tencent/tdesign-mobile-vue/tree/develop/src/slider/type.ts) | N
defaultValue | Number / Array | 0 | 滑块值。非受控属性。TS 类型:`SliderValue` `type SliderValue = number \| Array<number>`。[详细类型定义](https://github.com/Tencent/tdesign-mobile-vue/tree/develop/src/slider/type.ts) | N
vertical | Boolean | false | 是否是垂直的滑块(渲染垂直滑块时,默认高度为200px,可通过修改`--td-slider-bar-height`来自定义高度) | N
onChange | Function | | TS 类型:`(value: SliderValue) => void`<br/>滑块值变化时触发 | N
onDragend | Function | | TS 类型:`(value: SliderValue, context: {e: TouchEvent}) => void`<br/>结束拖动时触发 | N
onDragstart | Function | | TS 类型:`(context: {e: TouchEvent}) => void`<br/>开始拖动时触发 | N

### Slider Events

名称 | 参数 | 描述
-- | -- | --
change | `(value: SliderValue)` | 滑块值变化时触发
dragend | `(value: SliderValue, context: {e: TouchEvent})` | 结束拖动时触发
dragstart | `(context: {e: TouchEvent})` | 开始拖动时触发
13 changes: 13 additions & 0 deletions packages/products/tdesign-mobile-vue/src/slider/type.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,23 @@ export interface TdSliderProps {
* @default 0
*/
modelValue?: SliderValue;
/**
* 是否是垂直的滑块(渲染垂直滑块时,默认高度为200px,可通过修改`--td-slider-bar-height`来自定义高度)
* @default false
*/
vertical?: boolean;
/**
* 滑块值变化时触发
*/
onChange?: (value: SliderValue) => void;
/**
* 结束拖动时触发
*/
onDragend?: (value: SliderValue, context: { e: TouchEvent }) => void;
/**
* 开始拖动时触发
*/
onDragstart?: (context: { e: TouchEvent }) => void;
}

export interface SliderMarks {
Expand Down
119 changes: 107 additions & 12 deletions packages/scripts/api.json
Original file line number Diff line number Diff line change
Expand Up @@ -102866,6 +102866,43 @@
"Boolean"
]
},
{
"id": 1739007105,
"platform_framework": [
"8"
],
"component": "Slider",
"field_category": 1,
"field_name": "vertical",
"field_type": [
"4"
],
"field_default_value": "false",
"field_enum": "",
"field_desc_zh": "是否是垂直的滑块(渲染垂直滑块时,默认高度为200px,可通过修改`--td-slider-bar-height`来自定义高度)",
"field_desc_en": null,
"field_required": 0,
"event_input": "",
"create_time": "2025-02-08 09:31:45",
"update_time": "2025-02-08 09:31:45",
"event_output": null,
"custom_field_type": null,
"syntactic_sugar": null,
"readonly": 1,
"html_attribute": 0,
"trigger_elements": "",
"deprecated": 0,
"version": "",
"test_description": null,
"support_default_value": 0,
"field_category_text": "Props",
"platform_framework_text": [
"Vue(Mobile)"
],
"field_type_text": [
"Boolean"
]
},
{
"id": 1203,
"platform_framework": [
Expand Down Expand Up @@ -102951,9 +102988,6 @@
{
"id": 2001,
"platform_framework": [
"8",
"16",
"32",
"64"
],
"component": "Slider",
Expand All @@ -102980,19 +103014,48 @@
"support_default_value": 0,
"field_category_text": "Events",
"platform_framework_text": [
"Vue(Mobile)",
"React(Mobile)",
"Angular(Mobile)",
"Miniprogram"
],
"field_type_text": []
},
{
"id": 2000,
"id": 1739523132,
"platform_framework": [
"8",
"16",
"32",
"16"
],
"component": "Slider",
"field_category": 2,
"field_name": "dragend",
"field_type": [],
"field_default_value": "",
"field_enum": "",
"field_desc_zh": "结束拖动时触发",
"field_desc_en": null,
"field_required": 0,
"event_input": "(value: SliderValue, context: {e: TouchEvent})",
"create_time": "2025-02-14 08:52:12",
"update_time": "2025-02-14 08:52:12",
"event_output": null,
"custom_field_type": null,
"syntactic_sugar": null,
"readonly": 1,
"html_attribute": 0,
"trigger_elements": "",
"deprecated": 0,
"version": "",
"test_description": null,
"support_default_value": 0,
"field_category_text": "Events",
"platform_framework_text": [
"Vue(Mobile)",
"React(Mobile)"
],
"field_type_text": []
},
{
"id": 2000,
"platform_framework": [
"64"
],
"component": "Slider",
Expand All @@ -103019,13 +103082,45 @@
"support_default_value": 0,
"field_category_text": "Events",
"platform_framework_text": [
"Vue(Mobile)",
"React(Mobile)",
"Angular(Mobile)",
"Miniprogram"
],
"field_type_text": []
},
{
"id": 1739523112,
"platform_framework": [
"8",
"16"
],
"component": "Slider",
"field_category": 2,
"field_name": "dragstart",
"field_type": [],
"field_default_value": "",
"field_enum": "",
"field_desc_zh": "开始拖动时触发",
"field_desc_en": null,
"field_required": 0,
"event_input": "(context: {e: TouchEvent})",
"create_time": "2025-02-14 08:51:52",
"update_time": "2025-02-14 08:51:52",
"event_output": null,
"custom_field_type": null,
"syntactic_sugar": null,
"readonly": 1,
"html_attribute": 0,
"trigger_elements": "",
"deprecated": 0,
"version": "",
"test_description": null,
"support_default_value": 0,
"field_category_text": "Events",
"platform_framework_text": [
"Vue(Mobile)",
"React(Mobile)"
],
"field_type_text": []
},
{
"id": 1712043752,
"platform_framework": [
Expand Down