Skip to content

Commit

Permalink
feat(dropdown): add boolean attribute convert (#3702)
Browse files Browse the repository at this point in the history
  • Loading branch information
Zz-ZzzZ authored Dec 7, 2023
1 parent c82c3d3 commit e9c10dc
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions src/dropdown/hooks/useDropdownOptions.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { computed, ComputedRef, VNode, getCurrentInstance, Slots } from 'vue';
import { computed, ComputedRef, VNode, getCurrentInstance, Slots, Component } from 'vue';
import isString from 'lodash/isString';
import isArray from 'lodash/isArray';
import camelCase from 'lodash/camelCase';
Expand Down Expand Up @@ -40,7 +40,16 @@ export const getOptionsFromChildren = (menuNode: VNode | VNode[]): DropdownOptio

// 将item.props的属性名都转成驼峰,再进行传递
const itemProps = Object.keys(item.props || {}).reduce((props, propName) => {
props[camelCase(propName)] = item.props[propName];
// 处理 TDropdownItem 的 boolean attribute
if (
item.props[propName] === '' &&
(item.type as Component)?.name === 'TDropdownItem' &&
['active', 'divider', 'disabled'].includes(propName)
) {
props[camelCase(propName)] = true;
} else {
props[camelCase(propName)] = item.props[propName];
}
return props;
}, {});

Expand Down

0 comments on commit e9c10dc

Please sign in to comment.