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>
|