-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(Drawer): 限制抽屉可拖拽的最大最小尺寸 #549
Conversation
fix #541 |
@@ -90,7 +91,7 @@ export const drawerProps = { | |||
type: Boolean, | |||
default: false, | |||
}, | |||
} as const; | |||
} as const satisfies ComponentObjectPropsOptions; | |||
|
|||
export type DrawerProps = ExtractPublicPropTypes<typeof drawerProps>; | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这段代码主要是对Vue组件Drawer
的props进行定义和导出。以下是代码审查的一些问题和改进建议:
-
第一个修改行(@@ -10,6 +10,7 @@)中增加了一个新的引入
ComponentObjectPropsOptions
,但是在代码的其他地方没有看到它被使用。请确保这个引入是必要的,并且在其他地方进行了正确的使用。 -
第二个修改行(@@ -90,7 +91,7 @@)将属性
drawerProps
的类型从const
更改为ComponentObjectPropsOptions
。然而,这不是有效的语法。可能是一个拼写错误或引用了错误的类型。请检查是否存在ComponentObjectPropsOptions
的正确导入,并确保给props赋予了正确的类型。 -
除了以上两个问题外,其他部分的代码没有显示任何明显的bug风险。不过,需要仔细检查整个组件是否按预期工作,并满足项目的需求。
请修复第一个和第二个问题,并确保在其他方面没有额外的问题。如有需要,您可以提供更多关于代码逻辑和实现的上下文。
} | ||
|
||
drawerSize[propsKey.value] = nextSize; | ||
}; | ||
|
||
// 拖拽的dom 的位置和样式 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这段代码用于实现可调整大小的抽屉组件。以下是对这段代码的简要代码审查:
useResizable
函数导出一个自定义的 Vue 组合式函数,用于管理可调整大小的抽屉。DRAWER_MIN_SIZE
是抽屉拖拽时的最小尺寸,值为 200。- 在拖拽事件处理程序中,根据鼠标移动的偏移量来计算新的抽屉尺寸。
- 根据位置和偏移量的正负,修改抽屉的宽度或高度。
- 如果抽屉的下一个尺寸小于
DRAWER_MIN_SIZE
,则停止执行,限制抽屉的最小可拖拽尺寸。 - 否则,将抽屉的宽度或高度设置为下一个尺寸。
改进建议:
- 添加注释来解释代码的功能和逻辑。
- 考虑使用类型注解来提高代码的可读性和维护性。
- 可以为函数和变量添加更具描述性的名称,以提高代码的可读性。
- 考虑在适当的地方添加错误处理和边界检查,以防止潜在的异常情况。
- 进一步优化拖拽逻辑,如添加约束条件、灵敏度配置等。
What kind of change does this PR introduce? (check at least one)
Does this PR introduce a breaking change? (check one)