Svelte Flow是一个高度自定义的组件,用于构建交互式图和以节点为基础的编辑器,由React Flow的创造者所建造.
☣️ Svelte Flow仍然处于α并正在被大量开发中. API相对稳定,但有些情况可能会改变. ☣️
关键特性
- 易于使用 : 框外支持无缝缩放和平板、单和多选择图形元素和键盘快捷键
- 自定义 : 不同 节点 财务报告和审定财务报表 边缘类型 并支持带有多个手柄和自定义边缘的自定义节点
- 快速渲染 : 只有已更改的节点被重新提交
- 虎克和乌蒂尔斯: 钩子 用于处理节点、边缘和取景口及图表 帮助函数
- 插件组件 : 背景情况, (中文(简体) ), 最小映射 财务报告和审定财务报表 控件
- 可靠性: 写入 字体 测试 剧作家
安装
获得斯维尔特流最新版本的最简单方式是通过npm,纱线或pnpm来安装:
npm install @xyflow/svelte
开始
您只需要几行就可以获得一个完全交互的流(例如选择并拖动节点或泛并缩放). 如果你想学习更多,请参考 学习部分,则 实例 或 API 参考。 。 。 .
<script lang="ts">
import { writable } from 'svelte/store';
import { SvelteFlow, Controls, Background, BackgroundVariant, MiniMap } from '@xyflow/svelte';
// you need to import the styles for Svelte Flow to work
// if you just want to load the basic styleds, you can import '@xyflow/svelte/dist/base.css'
import '@xyflow/svelte/dist/style.css';
// We are using writables for the nodes and edges to sync them easily. When a user drags a node for example, Svelte Flow updates its position. This also makes it easier to update nodes in user land.
const nodes = writable([
{
id: '1',
type: 'input',
data: { label: 'Input Node' },
position: { x: 0, y: 0 }
},
{
id: '2',
type: 'custom',
data: { label: 'Node' },
position: { x: 0, y: 150 }
}
]);
// same for edges
const edges = writable([
{
id: '1-2',
type: 'default',
source: '1',
target: '2',
label: 'Edge Text'
}
]);
</script>
<SvelteFlow {nodes} {edges} fitView on:nodeclick={(event) => console.log('on node click', event)}>
<Controls />
<Background variant={BackgroundVariant.Dots} />
<MiniMap />
</SvelteFlow>
如何贡献
告诉我们你做了什么: 丢进我们家 Discord 服务器, (中文(简体) ), 微博 或者发邮件给我们 信息库@xyflow.com
社区参与: 问和回答我们的问题 Discord 服务器 或者跳进Github的讨论.
断层臭虫 : 我们不能把他们全部抓起来。 先检查现有议题及讨论.
财政支助: 如果你是一个组织 谁希望确保斯维尔特流 继续维持 信息库@xyflow.com
当然,我们爱Github明星
发展
如果您想要检查当前版本, 您需要从根目录中运行以下命令 :
pnpm install- 安装依赖关系pnpm build有一次必须完成pnpm dev- 启动 dev 服务器
现在,您可以在http://127.0.0.1:5173下查阅这些例子
维护者
Svelte Flow由后面的团队维护 xy流量如果你需要帮助或想和我们谈谈合作,请通过我们 联系表单 或加入我们 Discord 服务器。 。 。 .
许可证
丝绒花是 麻省理工学院执照。 。 。 .