Flexsource属性未在规则编辑器中显示该如何排查?
排查方向
- 确认Flex数据源注册时机:必须在规则编辑器初始化之前完成
FlexSource实例的注册操作,编辑器初始化完成后补充注册的Flex属性不会被主动加载到字段选择列表,仅能在后端求值时生效。 - 核对编辑器绑定的数据源类型:确保编辑器
SourceType参数指定的类型,和你挂载Flex属性的目标类型完全匹配,包括命名空间、类名完全一致,父类子类混用会导致编辑器无法读取到对应Flex配置。 - 检查属性过滤规则:查看编辑器配置项中的
AllowedProperties(允许属性白名单)、ExcludedProperties(排除属性黑名单),如果开启了属性过滤,Flex属性需要显式加入白名单才会展示,不会默认透出。 - 验证Flex属性的命名合规性:检查
FlexPropertyInfo的Name、DisplayName属性值,不要包含特殊字符、空格前缀,也不要和对应类型的原生C#属性重名,部分版本的编辑器会静默过滤不符合命名规范的属性,不会抛出显式错误。 - 清除编辑器缓存并重新加载:Code Effects编辑器会在前端缓存数据源结构,配置更新后需执行强制无缓存刷新(Windows下
Ctrl+Shift+R、Mac下Cmd+Shift+R),避免拉取到旧的字段列表。 - 查看前端控制台报错:打开浏览器开发者工具的Console面板,排查是否有Flex属性加载相关的JS异常,前端资源版本不兼容、序列化异常等问题往往只会在前端报错,不影响后端的规则求值逻辑。
内容的提问来源于stack exchange,提问作者Stuart
相关产品推荐
相关产品推荐

