Skip to content

Commit

Permalink
fix(react/vue): fix onChange can not pass to voidField's component pr…
Browse files Browse the repository at this point in the history
…ops. (#1264)
  • Loading branch information
linfaxin authored Apr 21, 2021
1 parent 01f38c7 commit 1764f6e
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 16 deletions.
6 changes: 3 additions & 3 deletions packages/react/src/components/ReactiveField.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -50,19 +50,19 @@ const ReactiveInternal: React.FC<IReactiveFieldProps> = (props) => {
field.onInput(...args)
field.component[1]?.onChange?.(...args)
}
: undefined
: field.component[1]?.onChange
const onFocus = !isVoidField(field)
? (...args: any[]) => {
field.onFocus(...args)
field.component[1]?.onFocus?.(...args)
}
: undefined
: field.component[1]?.onFocus
const onBlur = !isVoidField(field)
? (...args: any[]) => {
field.onBlur(...args)
field.component[1]?.onBlur?.(...args)
}
: undefined
: field.component[1]?.onBlur
const disabled = !isVoidField(field)
? field.pattern === 'disabled' || field.pattern === 'readPretty'
: undefined
Expand Down
24 changes: 11 additions & 13 deletions packages/vue/src/components/ReactiveField.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,19 +53,17 @@ export default observer<IReactiveFieldProps>(defineComponent<IReactiveFieldProps
})
}
const events = {} as Record<string, any>
if (!isVoidField(field)) {
events.change = (...args: any[]) => {
field.onInput(...args)
field.component[1]?.onChange?.(...args)
}
events.focus = (...args: any[]) => {
field.onFocus(...args)
field.component[1]?.onFocus?.(...args)
}
events.blur = (...args: any[]) => {
field.onBlur(...args)
field.component[1]?.onBlur?.(...args)
}
events.change = (...args: any[]) => {
if (!isVoidField(field)) field.onInput(...args)
field.component[1]?.onChange?.(...args)
}
events.focus = (...args: any[]) => {
if (!isVoidField(field)) field.onFocus(...args)
field.component[1]?.onFocus?.(...args)
}
events.blur = (...args: any[]) => {
if (!isVoidField(field)) field.onBlur(...args)
field.component[1]?.onBlur?.(...args)
}
const component = field.component[0] as VueComponent
const originData = field.component[1] || {}
Expand Down

0 comments on commit 1764f6e

Please sign in to comment.