[ PROMPT_NODE_28122 ]
N8n Node Configuration 依赖说明
[ SKILL_DOCUMENTATION ]
# 属性依赖指南
深入了解 n8n 属性依赖和 displayOptions 机制。
---
## 什么是属性依赖?
**定义**: 基于其他字段值控制字段何时可见或必填的规则。
**机制**: 节点架构中的 `displayOptions`
**目的**:
- 仅显示相关字段
- 隐藏无关字段
- 简化配置用户体验
- 防止无效配置
---
## displayOptions 结构
### 基本格式
javascript
{
"name": "fieldName",
"type": "string",
"displayOptions": {
"show": {
"otherField": ["value1", "value2"]
}
}
}
**翻译**: 当 `otherField` 等于 "value1" 或 "value2" 时显示 `fieldName`
### 显示 vs 隐藏
#### show (最常用)
**当条件匹配时显示字段**:
javascript
{
"name": "body",
"displayOptions": {
"show": {
"sendBody": [true]
}
}
}
**含义**: 当 `sendBody = true` 时显示 `body`
#### hide (较少用)
**当条件匹配时隐藏字段**:
javascript
{
"name": "advanced",
"displayOptions": {
"hide": {
"simpleMode": [true]
}
}
}
**含义**: 当 `simpleMode = true` 时隐藏 `advanced`
### 多重条件 (AND 逻辑)
javascript
{
"name": "body",
"displayOptions": {
"show": {
"sendBody": [true],
"method": ["POST", "PUT", "PATCH"]
}
}
}
**含义**: 当以下条件满足时显示 `body`:
- `sendBody = true` 且
- `method IN (POST, PUT, PATCH)`
**所有条件必须匹配** (AND 逻辑)
### 多重值 (OR 逻辑)
javascript
{
"name": "someField",
"displayOptions": {
"show": {
"method": ["POST", "PUT", "PATCH"]
}
}
}
**含义**: 当以下条件满足时显示 `someField`:
- `method = POST` 或
- `method = PUT` 或
- `method = PATCH`
**任意值匹配即可** (OR 逻辑)
---
## 常见依赖模式
### 模式 1: 布尔开关
**用例**: 可选功能标志
**示例**: HTTP Request sendBody
javascript
// 字段: sendBody (布尔值)
{
"name": "sendBody",
"type": "boolean",
"default": false
}
// 字段: body (依赖于 sendBody)
{
"name": "body",
"displayOptions": {
"show": {
"sendBody": [true]
}
}
}
**流程**:
1. 用户看到 sendBody 复选框
2. 勾选时 → 显示 body 字段
3. 取消勾选时 → 隐藏 body 字段
### 模式 2: 资源/操作级联
**用例**: 不同操作显示不同字段
**示例**: Slack 消息操作
javascript
// 操作: post
{
"name": "channel",