File size: 1,110 Bytes
c9d0005
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
---
order: 1
title: '自定义节点展示'
mobile: false
group: 
  title: 高级用法
  order: 2
---

# 自定义节点展示

当默认的节点内容展示不满足要求时,可以通过 `nodeWidget` 进行自定义渲染。

1. 定义自定义组件
2. 在 XFlow 组件中通过 `widgets` 属性注册组件
3. 在节点配置中通过 `nodeWidget` 指定使用的组件
   
```js
// 1.自定义节点
const LLMNodeWidget = ({ data }) => {
  const { model, temperature, maxTokens, systemPrompt } = data; // data为配置面板数据
  return (
    <Card
      size="small"
      bodyStyle={{ padding: '12px' }}
    >
      //  自定义渲染节点内容
    </Card>
  );
};
```
注册自定义组件
```js
<XFlow
  initialValues={{ nodes, edges }}
  settings={settings}
  widgets={{
    LLMNodeWidget  // 2.注册自定义组件
  }}
/>

```
在settings中使用自定义组件
```js
{
    type: 'LLM',
    title: 'LLM 处理',
    icon: {
      type: 'icon-model',
      bgColor: '#6172F3',
    },
    nodeWidget: 'LLMNodeWidget' // 3.使用自定义组件
}
```
<code src="./demo/nodeWidget"></code>