Files
continew-admin-ui/src/hooks/modules/useResetReactive.ts
ali_pay ca304f30dc fix: 修复邮箱配置的启用SSL加密开关初始值错误的问题
Co-authored-by: ali_pay<755265191@qq.com>


Co-authored-by: ali_pay<755265191@qq.com>



# message auto-generated for no-merge-commit merge:
merge dev into dev

fix: 修复邮箱配置的启用SSL加密开关初始值错误的问题

Created-by: ali_pay
Commit-by: ali_pay
Merged-by: Charles_7c
Description: <!--
  非常感谢您的 PR!在提交之前,请务必确保您 PR 的代码经过了完整测试,并且通过了代码规范检查。
-->

<!-- 在 [] 中输入 x 来勾选) -->

## PR 类型

<!-- 您的 PR 引入了哪种类型的变更? -->
<!-- 只支持选择一种类型,如果有多种类型,可以在更新日志中增加 “类型” 列。 -->

- [ ] 新 feature
- [x] Bug 修复
- [ ] 功能增强
- [ ] 文档变更
- [ ] 代码样式变更
- [ ] 重构
- [ ] 性能改进
- [ ] 单元测试
- [ ] CI/CD
- [ ] 其他

## PR 目的

<!-- 描述一下您的 PR 解决了什么问题。如果可以,请链接到相关 issues。 -->

## 解决方案

<!-- 详细描述您是如何解决的问题 -->

## PR 测试

<!-- 如果可以,请为您的 PR 添加或更新单元测试。 -->
<!-- 请描述一下您是如何测试 PR 的。例如:创建/更新单元测试或添加相关的截图。 -->

## Changelog

| 模块  | Changelog | Related issues |
|-----|-----------| -------------- |
|     |           |                |

<!-- 如果有多种类型的变更,可以在变更日志表中增加 “类型” 列,该列的值与上方 “PR 类型” 相同。 -->
<!-- Related issues 格式为 Closes #<issue号>,或者 Fixes #<issue号>,或者 Resolves #<issue号>。 -->

## 其他信息

<!-- 请描述一下还有哪些注意事项。例如:如果引入了一个不向下兼容的变更,请描述其影响。 -->

## 提交前确认

- [ ] PR 代码经过了完整测试,并且通过了代码规范检查
- [ ] 已经完整填写 Changelog,并链接到了相关 issues
- [ ] PR 代码将要提交到 dev 分支

See merge request: continew/continew-admin-ui!4
2025-07-01 21:29:39 +08:00

16 lines
428 B
TypeScript

import { reactive } from 'vue'
import { cloneDeep, isFunction } from 'lodash-es'
export function useResetReactive<T extends object>(value: T) {
const getInitValue = () => isFunction(value) ? value() : cloneDeep(value)
const state = reactive(getInitValue())
const reset = () => {
Object.keys(state).forEach((key) => delete state[key])
Object.assign(state, getInitValue())
}
return [state, reset] as const
}