Skip to content

Commit 2329afb

Browse files
uyarndependabot[bot]RSS1102github-actions[bot]
authored
chore: release 1.10.4-naruto (#3367)
* chore(deps-dev): bump @rollup/plugin-node-resolve from 11.2.1 to 15.3.0 (#3352) Bumps [@rollup/plugin-node-resolve](https://github.com/rollup/plugins/tree/HEAD/packages/node-resolve) from 11.2.1 to 15.3.0. - [Changelog](https://github.com/rollup/plugins/blob/master/packages/node-resolve/CHANGELOG.md) - [Commits](https://github.com/rollup/plugins/commits/node-resolve-v15.3.0/packages/node-resolve) --- updated-dependencies: - dependency-name: "@rollup/plugin-node-resolve" dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(tree): custom icons cannot be clicked without child nodes (#3354) * chore: fix select input demo (#3358) * chore: fix select input demo * chore: update snapshot * fix: fix shaking when dialog and drawer show (#3362) * fix: fix shaking when dialog and drawer show * chore: update common * feat(TimePicker): support autoswap API (#3363) * feat(timepicker): support autoswap API * feat(timepicker): support autoswap API * chore: live demo * chore: release 1.10.4 (#3366) * chore: release 1.10.4 * chore: changelog's changes --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * fix(cascader): custom option * chore: update CHANGELOG --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: 阿菜 Cai <[email protected]> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent 5ad82a5 commit 2329afb

File tree

19 files changed

+135
-75
lines changed

19 files changed

+135
-75
lines changed

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,17 @@ toc: false
55
docClass: timeline
66
---
77

8+
## 🌈 1.10.4 `2024-10-18`
9+
### 🚀 Features
10+
- `TimePicker`: 新增 `autoSwap` API,支持`1.10.2` 版本之后仍支持保持选定的左右侧时间大小顺序 @uyarn ([#3363](https://github.com/Tencent/tdesign-vue/pull/3363))
11+
### 🐞 Bug Fixes
12+
- `Tree`: 修复叶子节点自定义的图标可被点击的问题 @RSS1102 ([#3354](https://github.com/Tencent/tdesign-vue/pull/3354))
13+
- `Drawer`: 修复打开 `drawer` 时页面抖动的问题 @RSS1102 @uyarn ([#3362](https://github.com/Tencent/tdesign-vue/pull/3362))
14+
- `Dialog`: 修复打开 `dialog` 时页面抖动的问题 @RSS1102 ([#3362](https://github.com/Tencent/tdesign-vue/pull/3362))
15+
- `Cascader`: 修复不能通过插槽自定义选项内容的问题
16+
### 🚧 Others
17+
- `DatePicker`: 移除文档中错误的`value` 类型描述
18+
819
## 🌈 1.10.3 `2024-09-27`
920
### 🐞 Bug Fixes
1021
- `Cascader`: 修复初始化滚动节点时未兼容单选父节点滚动的缺陷 @uyarn ([#3342](https://github.com/Tencent/tdesign-vue/pull/3342))

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "tdesign-vue",
33
"purename": "tdesign",
4-
"version": "1.10.3-naruto",
4+
"version": "1.10.4-naruto",
55
"description": "tdesign-vue",
66
"title": "tdesign-vue",
77
"keywords": [
@@ -119,7 +119,7 @@
119119
"@rollup/plugin-babel": "^5.1.0",
120120
"@rollup/plugin-commonjs": "^18.0.0",
121121
"@rollup/plugin-json": "^4.1.0",
122-
"@rollup/plugin-node-resolve": "^11.2.1",
122+
"@rollup/plugin-node-resolve": "^15.3.0",
123123
"@rollup/plugin-replace": "^2.4.2",
124124
"@rollup/plugin-url": "^5.0.1",
125125
"@testing-library/dom": "^8.20.0",

src/cascader/components/Item.tsx

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ import TLoading from '../../loading';
99

1010
// type
1111
import { getKeepAnimationMixins } from '../../config-provider/config-receiver';
12-
import { CascaderContextType, TreeNodeValue, TreeNode } from '../interface';
12+
import {
13+
CascaderContextType, TreeNodeValue, TreeNode, TdCascaderProps,
14+
} from '../interface';
1315
import { usePrefixClass, useCommonClassName } from '../../hooks/useConfig';
1416
import { useGlobalIcon } from '../../hooks/useGlobalIcon';
1517
import Ripple from '../../utils/ripple';
@@ -23,6 +25,9 @@ const props = {
2325
return {};
2426
},
2527
},
28+
optionChild: {
29+
type: [Object, Array] as PropType<TdCascaderProps['option']>,
30+
},
2631
cascaderContext: {
2732
type: Object as PropType<CascaderContextType>,
2833
},
@@ -54,7 +59,7 @@ export default defineComponent({
5459
},
5560
render() {
5661
const {
57-
iconClass, cascaderContext, itemClass, node, COMPONENT_NAME, onChange, ChevronRightIcon,
62+
iconClass, cascaderContext, itemClass, node, COMPONENT_NAME, onChange, ChevronRightIcon, optionChild,
5863
} = this;
5964

6065
function RenderLabelInner(node: TreeNode, cascaderContext: CascaderContextType) {
@@ -129,7 +134,10 @@ export default defineComponent({
129134
this.onMouseenter();
130135
}}
131136
>
132-
{cascaderContext.multiple ? RenderCheckBox(node, cascaderContext) : RenderLabelContent(node, cascaderContext)}
137+
{optionChild
138+
|| (cascaderContext.multiple
139+
? RenderCheckBox(node, cascaderContext)
140+
: RenderLabelContent(node, cascaderContext))}
133141
{node.children
134142
&& (node.loading ? <TLoading class={iconClass} size="small" /> : <ChevronRightIcon class={iconClass} />)}
135143
</li>

src/cascader/components/Panel.tsx

Lines changed: 33 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { TreeNode, CascaderContextType, CascaderValue } from '../interface';
44
import CascaderProps from '../props';
55
import { usePrefixClass, useConfig } from '../../hooks/useConfig';
66
import { useTNodeDefault } from '../../hooks/tnode';
7+
import { getDefaultNode } from '../../hooks/render-tnode';
78

89
import { getPanels } from '../core/helper';
910
import { expendClickEffect, valueChangeEffect } from '../core/effect';
@@ -56,29 +57,38 @@ export default defineComponent({
5657
global, COMPONENT_NAME, handleExpand, renderTNodeJSXDefault, cascaderContext, panels, emit,
5758
} = this;
5859

59-
const renderItem = (node: TreeNode) => (
60-
<Item
61-
key={node.value}
62-
node={node}
63-
cascaderContext={cascaderContext}
64-
{...{
65-
props: {
66-
node,
67-
cascaderContext,
68-
onClick: () => {
69-
emit('click', node.value, node);
70-
handleExpand(node, 'click');
71-
},
72-
onMouseenter: () => {
73-
handleExpand(node, 'hover');
74-
},
75-
onChange: () => {
76-
valueChangeEffect(node, cascaderContext);
60+
const renderItem = (node: TreeNode, index: number) => {
61+
const optionChild = node.data.content
62+
? getDefaultNode(node.data.content(this.$createElement))
63+
: renderTNodeJSXDefault('option', {
64+
params: { item: node.data, index },
65+
});
66+
67+
return (
68+
<Item
69+
key={node.value}
70+
node={node}
71+
cascaderContext={cascaderContext}
72+
{...{
73+
props: {
74+
node,
75+
optionChild,
76+
cascaderContext,
77+
onClick: () => {
78+
emit('click', node.value, node);
79+
handleExpand(node, 'click');
80+
},
81+
onMouseenter: () => {
82+
handleExpand(node, 'hover');
83+
},
84+
onChange: () => {
85+
valueChangeEffect(node, cascaderContext);
86+
},
7787
},
78-
},
79-
}}
80-
/>
81-
);
88+
}}
89+
/>
90+
);
91+
};
8292

8393
const renderList = (treeNodes: TreeNode[], isFilter = false, segment = true, key = '1') => (
8494
<ul
@@ -92,7 +102,7 @@ export default defineComponent({
92102
]}
93103
key={key}
94104
>
95-
{treeNodes.map((node: TreeNode) => renderItem(node))}
105+
{treeNodes.map((node: TreeNode, index: number) => renderItem(node, index))}
96106
</ul>
97107
);
98108

src/date-picker/date-picker.en-US.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ status | String | default | options: default/success/warning/error | N
2929
suffixIcon | Slot / Function | - | Typescript:`TNode`[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N
3030
timePickerProps | Object | - | Typescript:`TimePickerProps`[TimePicker API Documents](./time-picker?tab=api)[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/date-picker/type.ts) | N
3131
tips | String / Slot / Function | - | Typescript:`string \| TNode`[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N
32-
value | String / Number / Array / Date | '' | `v-model` is supported。Typescript:`DateValue` `type DateValue = string \| number \| Date`[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/date-picker/type.ts) | N
33-
defaultValue | String / Number / Array / Date | '' | uncontrolled property。Typescript:`DateValue` `type DateValue = string \| number \| Date`[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/date-picker/type.ts) | N
32+
value | String / Number / Date | '' | `v-model` is supported。Typescript:`DateValue` `type DateValue = string \| number \| Date`[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/date-picker/type.ts) | N
33+
defaultValue | String / Number / Date | '' | uncontrolled property。Typescript:`DateValue` `type DateValue = string \| number \| Date`[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/date-picker/type.ts) | N
3434
valueType | String | - | Typescript:`DatePickerValueType` `type DatePickerValueType = 'time-stamp' \| 'Date' \| 'YYYY' \| 'YYYY-MM' \| 'YYYY-MM-DD' \| 'YYYY-MM-DD HH' \| 'YYYY-MM-DD HH:mm' \| 'YYYY-MM-DD HH:mm:ss' \| 'YYYY-MM-DD HH:mm:ss:SSS'` `type ValueTypeEnum = DatePickerValueType`[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/date-picker/type.ts) | N
3535
onBlur | Function | | Typescript:`(context: { value: DateValue; e: FocusEvent }) => void`<br/> | N
3636
onChange | Function | | Typescript:`(value: DateValue, context: { dayjsValue?: Dayjs, trigger?: DatePickerTriggerSource }) => void`<br/>[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/date-picker/type.ts)。<br/>`import { Dayjs } from 'dayjs'`<br/><br/>`type DatePickerTriggerSource = 'confirm' \| 'pick' \| 'enter' \| 'preset' \| 'clear'`<br/> | N

src/date-picker/date-picker.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ status | String | default | 输入框状态。可选项:default/success/warnin
2929
suffixIcon | Slot / Function | - | 用于自定义组件后置图标。TS 类型:`TNode`[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N
3030
timePickerProps | Object | - | 透传 TimePicker 组件属性。TS 类型:`TimePickerProps`[TimePicker API Documents](./time-picker?tab=api)[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/date-picker/type.ts) | N
3131
tips | String / Slot / Function | - | 输入框下方提示文本,会根据不同的 `status` 呈现不同的样式。TS 类型:`string \| TNode`[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N
32-
value | String / Number / Array / Date | '' | 选中值。支持语法糖 `v-model`。TS 类型:`DateValue` `type DateValue = string \| number \| Date`[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/date-picker/type.ts) | N
33-
defaultValue | String / Number / Array / Date | '' | 选中值。非受控属性。TS 类型:`DateValue` `type DateValue = string \| number \| Date`[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/date-picker/type.ts) | N
32+
value | String / Number / Date | '' | 选中值。支持语法糖 `v-model`。TS 类型:`DateValue` `type DateValue = string \| number \| Date`[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/date-picker/type.ts) | N
33+
defaultValue | String / Number / Date | '' | 选中值。非受控属性。TS 类型:`DateValue` `type DateValue = string \| number \| Date`[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/date-picker/type.ts) | N
3434
valueType | String | - | 用于格式化日期的值,仅支持部分格式,时间戳、日期等。⚠️ `YYYYMMDD` 这种格式不支持,请勿使用,如果希望支持可以给 `dayjs` 提个 PR。注意和 `format` 的区别,`format` 仅用于处理日期在页面中呈现的格式。`ValueTypeEnum` 即将废弃,请更为使用 `DatePickerValueType`。TS 类型:`DatePickerValueType` `type DatePickerValueType = 'time-stamp' \| 'Date' \| 'YYYY' \| 'YYYY-MM' \| 'YYYY-MM-DD' \| 'YYYY-MM-DD HH' \| 'YYYY-MM-DD HH:mm' \| 'YYYY-MM-DD HH:mm:ss' \| 'YYYY-MM-DD HH:mm:ss:SSS'` `type ValueTypeEnum = DatePickerValueType`[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/date-picker/type.ts) | N
3535
onBlur | Function | | TS 类型:`(context: { value: DateValue; e: FocusEvent }) => void`<br/>当输入框失去焦点时触发 | N
3636
onChange | Function | | TS 类型:`(value: DateValue, context: { dayjsValue?: Dayjs, trigger?: DatePickerTriggerSource }) => void`<br/>选中值发生变化时触发。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/date-picker/type.ts)。<br/>`import { Dayjs } from 'dayjs'`<br/><br/>`type DatePickerTriggerSource = 'confirm' \| 'pick' \| 'enter' \| 'preset' \| 'clear'`<br/> | N

src/drawer/drawer.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,8 @@ export default mixins(ActionMixin, getConfigReceiverMixins<Vue, DrawerConfig>('d
137137
},
138138

139139
mounted() {
140-
const hasScrollBar = document.body.scrollHeight > document.body.clientHeight;
140+
const hasScrollBar = window.innerWidth > document.documentElement.clientWidth;
141+
141142
const scrollWidth = hasScrollBar ? getScrollbarWidth() : 0;
142143

143144
this.styleEl = document.createElement('style');

src/select-input/_example-composition/multiple.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
<!-- :popup-props="{ trigger: 'hover' }" -->
1818
<t-select-input
19-
:input-value:sync="inputValue"
19+
:input-value.sync="inputValue"
2020
:value="value"
2121
:allow-input="allowInput"
2222
:placeholder="allowInput ? '请选择或输入' : '请选择'"

src/select-input/_example/multiple.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
<!-- :popup-props="{ trigger: 'hover' }" -->
1818
<t-select-input
19-
:input-value:sync="inputValue"
19+
:input-value.sync="inputValue"
2020
:value="value"
2121
:allow-input="allowInput"
2222
:placeholder="allowInput ? '请选择或输入' : '请选择'"

src/time-picker/_usage/time-range-picker-props.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44
"type": "Boolean",
55
"defaultValue": false,
66
"options": []
7+
},
8+
{
9+
"name": "autoSwap",
10+
"type": "Boolean",
11+
"defaultValue": true,
12+
"options": []
713
},
814
{
915
"name": "borderless",

0 commit comments

Comments
 (0)