Skip to content

Commit

Permalink
fix(comp:tree): correct param checked of onCheck
Browse files Browse the repository at this point in the history
`checked` should  be the state of check operation instead of state of node
  • Loading branch information
sallerli1 committed Jan 12, 2023
1 parent 5d604f9 commit fb83a29
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions packages/components/tree/src/composables/useCheckable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ import { isNil } from 'lodash-es'
import { type VKey, callEmit, useControlledProp } from '@idux/cdk/utils'
import { type CascaderStrategy } from '@idux/components/cascader'

import { type MergedNode } from './useDataSource'
import { type TreeNode, type TreeProps } from '../types'
import { callChange, getChildrenKeys, getParentKeys } from '../utils'
import { type MergedNode } from './useDataSource'

export interface CheckableContext {
checkedKeys: WritableComputedRef<VKey[]>
Expand Down Expand Up @@ -80,14 +80,15 @@ export function useCheckable(props: TreeProps, mergedNodeMap: ComputedRef<Map<VK
const cascaderEnabled = cascaderStrategy !== 'off'
const childrenKeys = cascaderEnabled ? getChildrenKeys(node, disabledKeys) : []
const index = allCheckedKeys.value.indexOf(currKey)
const checked = index > -1

let tempKeys = [...allCheckedKeys.value]

if (
checked ||
(childrenKeys.length &&
const checked =
index > -1 ||
(!!childrenKeys.length &&
childrenKeys.every(key => tempKeys.includes(key) || indeterminateKeys.value.includes(key)))
) {

if (checked) {
const parentKeys = cascaderEnabled ? getParentKeys(nodeMap, node, disabledKeys) : []
tempKeys.splice(index, 1)
tempKeys = tempKeys.filter(key => !parentKeys.includes(key) && !childrenKeys.includes(key))
Expand Down

0 comments on commit fb83a29

Please sign in to comment.