Skip to content

Commit a586965

Browse files
authored
fix(VDataTable): should allow expanding rows when return-object is true (#21128)
fixes #21096
1 parent 43b8f83 commit a586965

File tree

1 file changed

+8
-4
lines changed
  • packages/vuetify/src/components/VDataTable/composables

1 file changed

+8
-4
lines changed

packages/vuetify/src/components/VDataTable/composables/expand.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { useProxiedModel } from '@/composables/proxiedModel'
33

44
// Utilities
55
import { inject, provide, toRef } from 'vue'
6-
import { propsFactory } from '@/util'
6+
import { isObject, propsFactory } from '@/util'
77

88
// Types
99
import type { InjectionKey, PropType, Ref } from 'vue'
@@ -40,20 +40,24 @@ export function provideExpanded (props: ExpandProps) {
4040
return [...v.values()]
4141
})
4242

43+
function getItemKey (item: DataTableItem) {
44+
return isObject(item.value) ? item.key : item.value
45+
}
46+
4347
function expand (item: DataTableItem, value: boolean) {
4448
const newExpanded = new Set(expanded.value)
4549

4650
if (!value) {
47-
newExpanded.delete(item.value)
51+
newExpanded.delete(getItemKey(item))
4852
} else {
49-
newExpanded.add(item.value)
53+
newExpanded.add(getItemKey(item))
5054
}
5155

5256
expanded.value = newExpanded
5357
}
5458

5559
function isExpanded (item: DataTableItem) {
56-
return expanded.value.has(item.value)
60+
return expanded.value.has(getItemKey(item))
5761
}
5862

5963
function toggleExpand (item: DataTableItem) {

0 commit comments

Comments
 (0)