Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
啊嘞嘞EC
vue-vben-admin
提交
c2590cbf
V
vue-vben-admin
项目概览
啊嘞嘞EC
/
vue-vben-admin
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vue-vben-admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c2590cbf
编写于
4月 04, 2023
作者:
V
vben
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'main' of
https://github.com/anncwb/vue-vben-admin
上级
08d4e34b
7a8978dc
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
25 addition
and
24 deletion
+25
-24
package.json
package.json
+2
-2
src/components/Form/src/hooks/useFormEvents.ts
src/components/Form/src/hooks/useFormEvents.ts
+3
-4
src/utils/index.ts
src/utils/index.ts
+3
-2
src/utils/propTypes.ts
src/utils/propTypes.ts
+17
-16
未找到文件。
package.json
浏览文件 @
c2590cbf
...
...
@@ -17,9 +17,9 @@
},
"scripts"
:
{
"bootstrap"
:
"pnpm install"
,
"build"
:
"cross-env NODE_ENV=production vite build && esno ./build/script/postBuild.ts"
,
"build"
:
"cross-env NODE_
OPTIONS=--max-old-space-size=8192 NODE_
ENV=production vite build && esno ./build/script/postBuild.ts"
,
"build:no-cache"
:
"pnpm clean:cache && npm run build"
,
"build:test"
:
"cross-env vite build --mode test && esno ./build/script/postBuild.ts"
,
"build:test"
:
"cross-env
NODE_OPTIONS=--max-old-space-size=8192
vite build --mode test && esno ./build/script/postBuild.ts"
,
"clean:cache"
:
"rimraf node_modules/.cache/ && rimraf node_modules/.vite"
,
"clean:lib"
:
"rimraf node_modules"
,
"commit"
:
"czg"
,
...
...
src/components/Form/src/hooks/useFormEvents.ts
浏览文件 @
c2590cbf
...
...
@@ -14,7 +14,7 @@ import {
import
{
deepMerge
}
from
'
/@/utils
'
;
import
{
dateItemType
,
handleInputNumberValue
,
defaultValueComponents
}
from
'
../helper
'
;
import
{
dateUtil
}
from
'
/@/utils/dateUtil
'
;
import
{
cloneDeep
,
set
,
uniqBy
}
from
'
lodash-es
'
;
import
{
cloneDeep
,
set
,
uniqBy
,
get
}
from
'
lodash-es
'
;
import
{
error
}
from
'
/@/utils/log
'
;
interface
UseFormActionContext
{
...
...
@@ -112,9 +112,8 @@ export function useFormEvents({
const
validKeys
:
string
[]
=
[];
fields
.
forEach
((
key
)
=>
{
const
schema
=
unref
(
getSchema
).
find
((
item
)
=>
item
.
field
===
key
);
let
value
=
values
[
key
];
const
hasKey
=
Reflect
.
has
(
values
,
key
);
let
value
=
get
(
values
,
key
);
const
hasKey
=
!!
get
(
values
,
key
);
value
=
handleInputNumberValue
(
schema
?.
component
,
value
);
const
{
componentProps
}
=
schema
||
{};
...
...
src/utils/index.ts
浏览文件 @
c2590cbf
...
...
@@ -3,7 +3,7 @@ import type { App, Component } from 'vue';
import
{
unref
}
from
'
vue
'
;
import
{
isArray
,
isObject
}
from
'
/@/utils/is
'
;
import
{
cloneDeep
,
merge
With
}
from
'
lodash-es
'
;
import
{
cloneDeep
,
isEqual
,
mergeWith
,
union
With
}
from
'
lodash-es
'
;
export
const
noop
=
()
=>
{};
...
...
@@ -48,7 +48,8 @@ export function deepMerge<T extends object | null | undefined, U extends object
return
mergeWith
(
cloneDeep
(
target
),
source
,
(
objValue
,
srcValue
)
=>
{
if
(
isObject
(
objValue
)
&&
isObject
(
srcValue
))
{
return
mergeWith
(
cloneDeep
(
objValue
),
srcValue
,
(
prevValue
,
nextValue
)
=>
{
return
isArray
(
prevValue
)
?
prevValue
.
concat
(
nextValue
)
:
undefined
;
// 如果是数组,合并数组(去重) If it is an array, merge the array (remove duplicates)
return
isArray
(
prevValue
)
?
unionWith
(
prevValue
,
nextValue
,
isEqual
)
:
undefined
;
});
}
});
...
...
src/utils/propTypes.ts
浏览文件 @
c2590cbf
import
{
CSSProperties
,
VNodeChild
}
from
'
vue
'
;
import
{
createTypes
,
VueTypeValidableDef
,
VueTypesInterface
}
from
'
vue-types
'
;
import
{
createTypes
,
VueTypeValidableDef
,
VueTypesInterface
,
toValidableType
}
from
'
vue-types
'
;
export
type
VueNode
=
VNodeChild
|
JSX
.
Element
;
...
...
@@ -8,8 +8,7 @@ type PropTypes = VueTypesInterface & {
readonly
VNodeChild
:
VueTypeValidableDef
<
VueNode
>
;
// readonly trueBool: VueTypeValidableDef<boolean>;
};
const
propTypes
=
createTypes
({
const
newPropTypes
=
createTypes
({
func
:
undefined
,
bool
:
undefined
,
string
:
undefined
,
...
...
@@ -18,17 +17,19 @@ const propTypes = createTypes({
integer
:
undefined
,
})
as
PropTypes
;
propTypes
.
extend
([
{
name
:
'
style
'
,
getter
:
true
,
type
:
[
String
,
Object
],
default
:
undefined
,
},
{
name
:
'
VNodeChild
'
,
getter
:
true
,
type
:
undefined
,
},
]);
// 从 vue-types v5.0 开始,extend()方法已经废弃,当前已改为官方推荐的ES6+方法 https://dwightjack.github.io/vue-types/advanced/extending-vue-types.html#the-extend-method
class
propTypes
extends
newPropTypes
{
// a native-like validator that supports the `.validable` method
static
get
style
()
{
return
toValidableType
(
'
style
'
,
{
type
:
[
String
,
Object
],
});
}
static
get
VNodeChild
()
{
return
toValidableType
(
'
VNodeChild
'
,
{
type
:
undefined
,
});
}
}
export
{
propTypes
};
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录