Merge remote-tracking branch 'origin/next' into v2.3

pull/4671/head
tangjinzhou 2021-09-18 17:21:33 +08:00
commit bcd69f0008
5 changed files with 35 additions and 7 deletions

View File

@ -10,6 +10,18 @@
--- ---
## 2.2.8
`2021-09-17`
- 🌟 Upload method supports patch [#4637](https://github.com/vueComponent/ant-design-vue/issues/4637)
- 🌟 List gutter supports array [d2b721](https://github.com/vueComponent/ant-design-vue/commit/d2b72143f0e15c8716b4ea8f68b2b72eff5cf510)
- 🐞 Fix Modal type error [#4632](https://github.com/vueComponent/ant-design-vue/issues/4632)
- 🐞 Fix the problem that AutoComplete cannot reset undefined [741718](https://github.com/vueComponent/ant-design-vue/commit/741718a0f92c790266e7a07d8d129c5673344a7e)
- 🐞 Fix the missing style of Tag closed icon [#4649](https://github.com/vueComponent/ant-design-vue/issues/4649)
- 🐞 Fix the problem that the TreeSelect clear button does not display under special conditions [#4655](https://github.com/vueComponent/ant-design-vue/issues/4655)
- 🐞 Fix useForm immdiate not working issue [#4646](https://github.com/vueComponent/ant-design-vue/issues/4646)
## 2.2.7 ## 2.2.7
`2021-09-08` `2021-09-08`

View File

@ -10,6 +10,18 @@
--- ---
## 2.2.8
`2021-09-17`
- 🌟 Upload method 支持 patch [#4637](https://github.com/vueComponent/ant-design-vue/issues/4637)
- 🌟 List gutter 支持数组 [d2b721](https://github.com/vueComponent/ant-design-vue/commit/d2b72143f0e15c8716b4ea8f68b2b72eff5cf510)
- 🐞 修复 Modal 类型错误 [#4632](https://github.com/vueComponent/ant-design-vue/issues/4632)
- 🐞 修复 AutoComplete 无法重置 undefined 问题 [741718](https://github.com/vueComponent/ant-design-vue/commit/741718a0f92c790266e7a07d8d129c5673344a7e)
- 🐞 修复 Tag 关闭图标样式丢失问题 [#4649](https://github.com/vueComponent/ant-design-vue/issues/4649)
- 🐞 修复 TreeSelect 清楚按钮在特殊条件下不显示问题 [#4655](https://github.com/vueComponent/ant-design-vue/issues/4655)
- 🐞 修复 useForm immdiate 不生效问题 [#4646](https://github.com/vueComponent/ant-design-vue/issues/4646)
## 2.2.7 ## 2.2.7
`2021-09-08` `2021-09-08`

View File

@ -332,16 +332,20 @@ function useForm(
return info; return info;
}; };
let oldModel = initialModel; let oldModel = initialModel;
let isFirstTime = true;
const modelFn = (model: { [x: string]: any }) => { const modelFn = (model: { [x: string]: any }) => {
const names = []; const names = [];
rulesKeys.value.forEach(key => { rulesKeys.value.forEach(key => {
const prop = getPropByPath(model, key, false); const prop = getPropByPath(model, key, false);
const oldProp = getPropByPath(oldModel, key, false); const oldProp = getPropByPath(oldModel, key, false);
if (!isEqual(prop.v, oldProp.v)) { const isFirstValidation = isFirstTime && options?.immediate && prop.isValid;
if (isFirstValidation || !isEqual(prop.v, oldProp.v)) {
names.push(key); names.push(key);
} }
}); });
validate(names, { trigger: 'change' }); validate(names, { trigger: 'change' });
isFirstTime = false;
oldModel = cloneDeep(model); oldModel = cloneDeep(model);
}; };

View File

@ -95,9 +95,9 @@ export interface ModalFuncProps {
prefixCls?: string; prefixCls?: string;
class?: string; class?: string;
visible?: boolean; visible?: boolean;
title?: (() => VNodeTypes) | VNodeTypes; title?: string | (() => VNodeTypes) | VNodeTypes;
closable?: boolean; closable?: boolean;
content?: (() => VNodeTypes) | VNodeTypes; content?: string | (() => VNodeTypes) | VNodeTypes;
// TODO: find out exact types // TODO: find out exact types
onOk?: (...args: any[]) => any; onOk?: (...args: any[]) => any;
onCancel?: (...args: any[]) => any; onCancel?: (...args: any[]) => any;
@ -105,9 +105,9 @@ export interface ModalFuncProps {
cancelButtonProps?: ButtonPropsType; cancelButtonProps?: ButtonPropsType;
centered?: boolean; centered?: boolean;
width?: string | number; width?: string | number;
okText?: (() => VNodeTypes) | VNodeTypes; okText?: string | (() => VNodeTypes) | VNodeTypes;
okType?: LegacyButtonType; okType?: LegacyButtonType;
cancelText?: (() => VNodeTypes) | VNodeTypes; cancelText?: string | (() => VNodeTypes) | VNodeTypes;
icon?: (() => VNodeTypes) | VNodeTypes; icon?: (() => VNodeTypes) | VNodeTypes;
/* Deprecated */ /* Deprecated */
iconType?: string; iconType?: string;

View File

@ -86,11 +86,11 @@ const Tag = defineComponent({
const renderCloseIcon = () => { const renderCloseIcon = () => {
if (closable) { if (closable) {
return closeIcon ? ( return closeIcon ? (
<div class={`${prefixCls}-close-icon`} onClick={handleCloseClick}> <div class={`${prefixCls.value}-close-icon`} onClick={handleCloseClick}>
{closeIcon} {closeIcon}
</div> </div>
) : ( ) : (
<CloseOutlined class={`${prefixCls}-close-icon`} onClick={handleCloseClick} /> <CloseOutlined class={`${prefixCls.value}-close-icon`} onClick={handleCloseClick} />
); );
} }
return null; return null;