You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Netlify CMS是否支持按分类条件显示字段?

在Netlify CMS中实现分类关联的条件字段显示

完全可以实现这个需求,Netlify CMS支持通过条件逻辑控制字段的显示/隐藏,核心是利用字段配置中的hidden或show属性,结合自定义函数判断当前选中的分类值。

配置示例(YAML格式)

假设你的Product集合配置如下,我们为不同分类添加专属字段,并设置显示条件:

collections:
  - name: 'product'
    label: '产品'
    folder: 'content/products'
    create: true
    fields:
      # 基础字段
      - { label: '产品名称', name: 'title', widget: 'string' }
      # 分类选择字段
      - label: '产品分类'
        name: 'category'
        widget: 'select'
        options:
          - { label: '戒指', value: 'ring' }
          - { label: '手链', value: 'bracelet' }
          - { label: '项链', value: 'necklace' }

      # 戒指专属字段:仅选中「戒指」时显示
      - label: '指环尺寸'
        name: 'ring_size'
        widget: 'string'
        hidden: !!js/function >
          (fields) { return fields.category !== 'ring' }

      # 手链专属字段:仅选中「手链」时显示
      - label: '手链长度'
        name: 'bracelet_length'
        widget: 'string'
        show: !!js/function >
          (fields) { return fields.category === 'bracelet' }

      # 项链专属字段:仅选中「项链」时显示
      - label: '项链链长'
        name: 'necklace_length'
        widget: 'string'
        hidden: !!js/function >
          (fields) { return fields.category !== 'necklace' }

关键说明

  1. 条件函数:使用!!js/function定义判断逻辑,函数接收fields参数,包含当前表单已填写的所有字段值,通过对比fields.category的值来控制显示。
  2. hidden vs show:
    • hidden:当函数返回true时,字段隐藏;返回false时显示
    • show:当函数返回true时,字段显示;返回false时隐藏
  3. 匹配分类值:注意判断的是分类选项的value(如ring),而不是显示的label(如「戒指」)
  4. JSON格式适配:如果你的配置是JSON格式,函数需要写成字符串形式,例如:
    {
      "label": "指环尺寸",
      "name": "ring_size",
      "widget": "string",
      "hidden": "function(fields) { return fields.category !== 'ring' }"
    }
    

内容的提问来源于stack exchange,提问作者CodeCodeCodon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 01:20:24