Zion通过模型层“公开可见”开关与页面层“条件式容器”双重控制实现字段级可见性:关闭字段公开后需手动绑定组件并设置角色条件(如user.role=="admin"),导出时仅遵循模型设置。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Zion中实现字段级可见性控制
在Zion无代码平台搭建表单或数据展示页面时,需要让不同角色用户看到不同的字段——比如客服只能看客户联系方式,财务只能看订单金额和支付状态,而管理员能看到全部字段。这种细粒度的显示控制必须落到单个字段上,不能只靠整张表或整个页面的权限开关。
用数据权限+条件式容器组合实现
第一步:进入「数据模型」→「字段设置」→ 找到目标字段(如“身份证号”)→ 关闭「公开可见」开关。【关闭后该字段将从所有自动生成的页面中彻底消失,包括列表、详情、编辑页】
第二步:回到页面编辑器,在需要显示该字段的位置手动拖入一个「文本组件」或「输入框组件」,绑定到对应字段。
第三步:选中这个组件 → 右侧属性面板开启「条件式容器」→ 设置显示条件为:user.role == "admin"。这一步必须手动绑定,Zion不会自动把权限规则同步到已有组件上。
注意:如果字段本身设为“不公开”,又没手动拖入组件,那它在任何页面里都不会出现,连后台API返回的数据里也会被过滤掉。所以字段可见性实际由两层共同决定:模型层的公开开关 + 页面层的条件渲染。
用变量+公式动态切换字段显隐
方法一:用页面变量控制全局开关
在页面顶部添加一个隐藏的「按钮组件」,点击时执行动作:设置页面变量 show_sensitive_fields = !show_sensitive_fields。然后给所有敏感字段组件设置条件式容器:show_sensitive_fields && user.role == "admin"。这样管理员可以手动展开/收起整组字段。
方法二:用实时角色判断替代硬编码
直接在条件式容器中写:includes(["admin", "audit"], user.role)。比逐个写==更易维护,新增审核角色时只需改数组,不用动每个字段的条件表达式。
字段级可见性与API导出的关系
Zion默认导出Excel时,会严格遵循字段的「公开可见」设置。哪怕你在页面上用条件式容器强行显示了某个非公开字段,导出功能依然不会包含它。
如果业务要求“页面上不可见但导出时要保留”,必须将该字段设为「公开可见」,再用条件式容器仅隐藏页面组件——导出逻辑不读取组件条件,只读模型设置。











