Vue.js で AntV X6 を使用する手順の例

Vue.js で AntV X6 を使用する手順の例

0x0 はじめに

プロジェクトではフローチャートを使用しており、要件が詳細ではないため、フローチャート エディターとして、より柔軟な x6 グラフィック エディターが選択されています。ドキュメントによると、複雑ではないため、これは単なるリファレンス チュートリアルです。

Antv X6 ドキュメント

0x1 インストール

チュートリアルの指示に従って x6 依存関係をインストールし、インスタンス化用の新しいコンテナーを作成します。

<div ref="コンテナRef" クラス="エリアセンターコンテナ" />
定数データ = {
  // ノード: [
    {
      id: 'node1', // 文字列、オプション、ノードの一意の識別子 x: 40, // 数値、必須、ノード位置の x 値 y: 40, // 数値、必須、ノード位置の y 値 width: 80, // 数値、オプション、ノード サイズの幅の値 height: 40, // 数値、オプション、ノード サイズの高さの値 label: 'hello', // 文字列、ノード ラベル },
    {
      id: 'node2', // 文字列、ノードの一意の識別子 x: 160, // 数値、必須、ノード位置の x 値 y: 180, // 数値、必須、ノード位置の y 値 width: 80, // 数値、オプション、ノード サイズの幅の値 height: 40, // 数値、オプション、ノード サイズの高さの値 label: 'world', // 文字列、ノード ラベル },
  ]、
  // エッジ: [
    {
      ソース: 'node1', // 文字列、必須、開始ノード ID
      target: 'node2', // 文字列、必須、ターゲットノード ID
    },
  ]、
}

関数initGraph() {
  constグラフ = 新しいグラフ({
    コンテナ: this.$refs.containerRef,
    グリッド: {
      size: 10, // グリッドサイズ 10px
      visible: true // メッシュの背景をレンダリング},
    スナップライン:
      enabled: true, // アライメント sharp: true
    },
    スクロール:
      有効: true、
      ページ表示: false、
      ページブレーク: false、
      パン可能: true
    }
  })
  // キャンバスを中央に配置する graph.centerContent()

  graph.fromJSON(データ)
}

これは最も単純な例です。上記のさまざまなパラメータについては、ドキュメントの対応する説明を参照してください。

0x2 ノードサイドバー

ドキュメント内のステンシルの例によれば、多くのコードを簡略化できます。カプセル化されたビジネスを直接使用できます。上記のようにコンテナのインスタンス化を記述するだけです。

<el-aside ref="ステンシルRef" class="area-left" />
this.stencil = 新しいStencil({
    タイトル: 「プロセスノードサイドバー」
    対象: グラフ、
    検索: 偽、
    折りたたみ可能: true、
    ステンシルグラフの幅: this.$refs.stencilRef.$el.clientWidth、
    ステンシルグラフの高さ: this.$refs.stencilRef.$el.clientHeight、
    グループ: [
        {
            名前: 'グループ',
            タイトル: 「フローチャートノード」
            折りたたみ可能: false
          }
        ]、
    getDropNode: ノード => {
        cloneNode = node.clone() とします。
        スイッチ (node.shape) {
            'rect'の場合:
                cloneNode = 新しい RectShape()
                壊す
            ケース '円':
                cloneNode = 新しい CircleShape()
                壊す
            'ポリゴン'の場合:
                cloneNode = 新しいポリラインシェイプ()
                壊す
        }
        cloneNode.updateInPorts(グラフ)
        cloneNodeを返す
    }
})
// ノードをロードします this.stencil.load([new Rect(rectInfo), new Circle(circleInfo), new Polygon(polygonInfo)], 'group')

0x3 統合例

オンライン: https://codesandbox.io/s/icy-meadow-rqihx

上記は、Antv X6 を Vue.js で使用する手順例の詳細です。Antv X6 を Vue.js で使用する方法の詳細については、123WORDPRESS.COM の他の関連記事をご覧ください。

以下もご興味があるかもしれません:
  • vueプロジェクトでAntv G2を参照し、円グラフを例に挙げます。
  • Vue で antv を使用するためのサンプル コード
  • Vue で G2 チャートを使用するためのサンプル コード
  • g2plot を例にして vue2 で AntV を使用する

<<:  MySQL 5.7 の Docker バージョンを MySQL 8.0.13 にアップグレードし、データを移行する

>>:  MySQL 8.0.13 zipパッケージのインストール方法について

推薦する

VScode リモート SSH リモート編集とデバッグコード

Visual Studio Code の最新の Insider バージョンには、コードのリモート デ...

Jenkins の紹介と Docker で Jenkins をデプロイする方法

1. 関連概念1.1 Jenkins の概念: Jenkins は、使用されるプラットフォームに関係...

HTML+CSS を使用して、画像の右上隅に削除の十字と画像削除ボタンを追加します。

記録として、将来使用される可能性があり、困っている友人も使用できます。 BBはもうやめて、まずはレン...

iostat を使用して Linux ハードディスクの IO パフォーマンスを表示する方法

TOP 観察: IO 待機に占められる CPU 時間の割合。30% を超えると、IO の負荷が高くな...

CSSを使用してHTMLテキストボックス内のテキストの垂直方向の中央を制御する

Text の height 属性が定義されている場合、Text に入力されたテキストは垂直方向に中央...

Linux ホスト上で複数の MySQL データベースを起動する方法

今日は、Linux ホスト上で 4 つの MySQL データベースを起動する方法について説明します。...

ウェブサイトに最も必要なのは、ターゲットユーザーグループのエクスペリエンスを向上させることです。

「大河は東に流れ、波は歴代の英雄たちを洗い流した。古城の西側は三国時代の周朗の赤壁だと言われている...

Nginx ベースの HTTPS ウェブサイトを設定する手順

目次序文:暗号化アルゴリズム: 1. HTTPS の概要2. NginxはHTTPSウェブサイト設定...

Linux 上での MySQL データベースのインストールと Java プロジェクトの構成に関する詳細なグラフィック説明

1. MySQLデータベースをインストールする① ダウンロードして解凍し、/opt/softディレク...

vue-router を遅延ロードする 3 つの方法のまとめ

遅延読み込みを使用しない 'vue' から Vue をインポートします。 '...

MySqlデータベースをバックアップするいくつかの方法

mysqldump ツールのバックアップデータベース全体をバックアップする $> mysqld...

HTMLを圧縮しない理由はいくつかある

理由は簡単です。 HTML ドキュメントでは、複数の空白文字は 1 つの空白文字と同等です。つまり、...

Ubuntu インストール cuda10.1 ドライバ実装手順

1. cuda10.1をダウンロードします。 NVIDIA 公式ウェブサイト リンク: https:...

Linux システムが VMware にインストールされているかどうかを確認する方法

現在の Linux システムが VMware にインストールされているかどうかを確認する方法を教えて...

HTMLがHikvisionカメラのリアルタイム監視機能を実現

最近、同社は CCFA 関連のいくつかの作業を行う予定で、その 1 つはカメラのリアルタイム監視を再...