Dynamics 365:移除选项后如何恢复多选项字段的默认选项?
解决方案:恢复多选项字段的原始选项
目前微软生态下的表单/控件没有内置的一键重置已移除选项的方法,必须通过手动添加的方式恢复,但可以通过提前缓存原始选项集合的方式优化流程,避免重复编写addOption()的冗余代码。
核心思路
- 初始化缓存原始选项:在页面/控件加载时,把多选项字段的所有原始选项保存到一个变量或集合中,后续操作都基于这个缓存的集合来处理。
- 切换逻辑复用缓存:
- 切换到“否”时:过滤缓存集合,只保留需要的选项,清空当前字段后添加过滤结果;
- 切换回“是”时:清空当前字段,直接将缓存的原始选项全部添加回去。
示例代码(以Power Apps为例)
- 屏幕加载时缓存原始选项:
Set(originalMultiOptions, 你的多选项控件.Options) - 切换到“否”的处理逻辑:
// 过滤出需要保留的选项 ClearCollect(filteredOptions, Filter(originalMultiOptions, Value in {"选项A", "选项B"})); // 清空当前控件的选项 Clear(你的多选项控件.Options); // 添加过滤后的选项 ForAll(filteredOptions, AddOption(你的多选项控件, Value, Value)) - 切换回“是”的重置逻辑:
// 清空当前控件的选项 Clear(你的多选项控件.Options); // 重新添加所有原始选项 ForAll(originalMultiOptions, AddOption(你的多选项控件, Value, Value))
其他微软场景适配
如果是SharePoint表单脚本、Teams应用控件等其他场景,逻辑完全一致:提前把原始选项集合存储到全局变量,切换状态时直接调用这个集合来重置字段,比每次手动逐个添加选项更高效,也能避免遗漏或错误。
内容的提问来源于stack exchange,提问作者Immmm
相关产品推荐
相关产品推荐

