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パッケージのインストール方法について

推薦する

HTML で 2 つの div タグの間に垂直線を描く方法

最近、インターフェースを描画しているときに、インターフェースに垂直線を描画し、この垂直線の高さが親 ...

crontab スケジュールされたタスクが実行されない理由の分析と解決

序文Linux のスケジュールされたタスクを実装する方法としては、cron、anacron、at な...

vue keep-alive の簡単な概要

1. 機能主にコンポーネントの状態を保持したり、再レンダリングを回避したりするために使用されます。 ...

MySQLカーソルの詳細な紹介

目次1. カーソルとは何ですか? 2. カーソルの使い方1. カーソルを宣言する2.カーソルを開く3...

Doubanウェブサイトのウェブサイトコンテンツに小さな変更を加える方法

<br />読みやすさはウェブサイトにとって非常に重要な部分であり、ウェブサイトの核心と...

1つの記事でJavaScriptのクロージャ関数について学ぶ

目次変数のスコープ閉鎖の概念クロージャの使用クロージャのデメリット最後に、クロージャのメリットとデメ...

CSS コンテンツ属性を使用して、マウスホバープロンプト (ツールチップ) 効果を実現します。

なぜこのような効果を実現するのでしょうか。実は、この効果もタイトルプロンプトから派生したものですが、...

MySQL データ型 DECIMAL の詳細な分析

序文:金額の保存など、小数点数を保存し、精度要件がある場合、通常は DECIMAL フィールド タイ...

MySQL の無効な左結合の問題を解決する方法とその使用上の注意

MySQLの左結合が無効であり、その使用方法今日SQLを書いていたとき、左結合を使用すると左のテーブ...

HTMLチュートリアル、簡単に学べるHTML言語

1. <body background=画像ファイル名 bgcolor=color text=...

vue+el-element でファイル名に応じてダイアログを動的に作成する実践

目次背景成し遂げる1. カプセル化された /utils/dialogControl.js 2.ダイア...

MySQLデータの重複チェックと重複排除の実装ステートメント

テーブル user があり、フィールドは id、nick_name、password、email、p...

Ubuntu で nvidia グラフィック ドライバーをインストールする (簡単なインストール方法)

Ubuntu で nvidia グラフィック カード ドライバーをインストールします。同じ方法で ...

Mac M1 での Nginx のマルチサイト構成の実装

注: nginxはbrew経由でインストールされますウェブサイトのルートディレクトリ: /opt/h...

HTML の <input> タグの詳細な説明と、それを無効にする方法

定義と使用法<input> タグはユーザー情報を収集するために使用されます。 type ...