# 字典组件迁移指南 ## 快速迁移步骤 ### 1. 替换导入语句 **旧代码:** ```vue ``` **新代码:** ```vue ``` ### 2. 替换字典访问方式 **旧代码:** ```vue ``` **新代码:** ```vue ``` ### 3. 替换字典选择器 **旧代码:** ```vue ``` **新代码:** ```vue ``` ### 4. 在表格中使用 **旧代码:** ```vue ``` **新代码(使用 render 函数):** ```vue ``` ## 完整迁移示例 ### 旧代码(Options API) ```vue ``` ### 新代码(Composition API + AiCrudPage) ```vue ``` ## 批量替换正则表达式 可以使用以下正则表达式进行批量替换: ### 1. 替换 dict.type.xxx 为 dict.xxx **查找:** `dict\.type\.(\w+)` **替换:** `dict.$1` ### 2. 替换 dict-tag 为 DictTag **查找:** `` **替换:** `` ### 3. 替换 scope.row 为 row **查找:** `scope\.row` **替换:** `row` ## 注意事项 1. **导入组件**:确保在每个使用字典的文件中导入 `useDict`、`DictTag` 和 `DictSelect` 2. **响应式访问**:在 render 函数中使用 `dict.value.xxx` 而不是 `dict.xxx` 3. **字典类型**:确保字典类型名称与后端一致 4. **缓存机制**:新系统会自动缓存字典数据,无需手动管理 5. **状态过滤**:DictSelect 会自动过滤状态为 0 的字典项 ## 测试清单 迁移完成后,请测试以下功能: - [ ] 字典数据能正常加载 - [ ] DictTag 能正确显示字典标签 - [ ] DictSelect 能正常选择字典项 - [ ] 表格中的字典标签显示正常 - [ ] 搜索表单中的字典选择器工作正常 - [ ] 编辑表单中的字典选择器工作正常 - [ ] 多选字典选择器工作正常 - [ ] 字典缓存机制工作正常 ## 常见问题 ### Q1: 字典数据加载失败? **A:** 检查后端接口 `/system/dict/data/list` 是否正常,参数 `dictType` 是否正确。 ### Q2: DictTag 不显示? **A:** 检查 `options` 或 `dictType` 是否正确传递,`value` 是否与字典值匹配。 ### Q3: DictSelect 选项为空? **A:** 检查 `dictType` 是否正确,字典数据是否已加载。 ### Q4: 在 render 函数中访问 dict 报错? **A:** 在 render 函数中使用 `dict.value.xxx` 而不是 `dict.xxx`。 ### Q5: 字典数据不更新? **A:** 使用 `reload()` 函数重新加载字典,或使用 `clearDictCache()` 清除缓存。 ## 获取帮助 如有问题,请查看: - [字典组件使用指南](./src/components/DICT_USAGE_GUIDE.md) - [字典管理页面](./src/views/system/dictType.vue) - [字典数据页面](./src/views/system/dictData.vue) - [字典组件示例](./src/views/system/dictDemo.vue)