Skip to content

Commit 21bdf52

Browse files
authored
Fix event handlers with arity > 1 (#1515)
* fix event handlers with arity > 1 * update changelog
1 parent a7154dc commit 21bdf52

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1616

1717
- Ensure `Escape` propagates correctly in `Combobox` component ([#1511](https://github.com/tailwindlabs/headlessui/pull/1511))
1818
- Remove leftover code in Combobox component ([#1514](https://github.com/tailwindlabs/headlessui/pull/1514))
19+
- Fix event handlers with arity > 1 ([#1515](https://github.com/tailwindlabs/headlessui/pull/1515))
1920

2021
## [Unreleased - @headlessui/vue]
2122

packages/@headlessui-react/src/utils/render.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ function mergeProps(...listOfProps: Props<any, any>[]) {
201201

202202
let eventHandlers: Record<
203203
string,
204-
((event: { defaultPrevented: boolean }) => void | undefined)[]
204+
((event: { defaultPrevented: boolean }, ...args: any[]) => void | undefined)[]
205205
> = {}
206206

207207
for (let props of listOfProps) {
@@ -232,13 +232,13 @@ function mergeProps(...listOfProps: Props<any, any>[]) {
232232
// Merge event handlers
233233
for (let eventName in eventHandlers) {
234234
Object.assign(target, {
235-
[eventName](event: { defaultPrevented: boolean }) {
235+
[eventName](event: { defaultPrevented: boolean }, ...args: any[]) {
236236
let handlers = eventHandlers[eventName]
237237

238238
for (let handler of handlers) {
239239
if (event.defaultPrevented) return
240240

241-
handler(event)
241+
handler(event, ...args)
242242
}
243243
},
244244
})

0 commit comments

Comments
 (0)