実際のプロジェクトでElementUIを使用する手順の詳細な説明

実際のプロジェクトでElementUIを使用する手順の詳細な説明

1. テーブル自動ソート

目的: 雇用日の後にある上矢印と下矢印をクリックして、現在のページのデータを雇用日に従って昇順または降順に並べ替えます。

アイデア: el-table-column に sortable を追加する

ソートとは、取得したデータをフロントエンドでのみソートすることです。

参考: https://element.eleme.io/#/zh-CN/component/table#pai-xu

コード実装(参考):

<!-- 1. フィールドでソートする必要があるフィールド名を定義します-->
 
<el-table :data="リスト" border :default-sort="{prop: 'workNumber'}">
</el-table>
 
<!-- 2. フィールド列に prop 属性と sortable 属性が宣言されていることを確認します -->
 
<el-table-column label="求人エントリー時間" sortable prop="timeOfEntry">
</el-table-column>

2. ページング機能

目標(効果):ページングデータ取得ロジックを実装する

アイデア: ページング コンポーネントのプロパティ要件に従って構成するだけです。

ステップ:

ステップ1: 補足データ項目

el-paginationコンポーネントの要件に従って、ページにページング関連のデータ項目を追加します。

データ() {
  戻る {
    //その他を省略合計: 0,
    page: 1, // 現在のページ番号 size: 5, // ページあたりのレコード数 total: 0 // レコードの総数 }
}

ステップ2: ページ構造

<div スタイル="高さ: 60px; マージントップ: 10px">
<!-- ページネーション -->
        <el-ページネーション
          layout="total, sizes,prev, pager, next, jumper"
          :total="合計"
          :page-size="サイズ"
          :ページサイズ="[2,5,10]"
          @current-change="hCurrentChange"
          @size-change="hSizeChange"
        />
</div>

ステップ3: ページングロジックを実装する

// 現在クリックされているページ番号を自動的に受け取ります hCurrentChange(curPage) {
      // アラート(現在のページ)
      // 1. ページ番号を更新する this.page = curPage
      // 2. リクエストを再送信 this.loadEmployee()
    },
    // ページあたりのアイテム数 hSizeChange(curSize) {
      // アラート(サイズ)
      // 1. ページあたりのエントリ数を更新します this.size = curSize
      // 2. リクエストを再送信 this.loadEmployee()
    },

3.el-checkbox-group 複数選択ボックス

効果

使用上の注意:

複数選択を示すために使用される el-checkbox-group の場合:

v-modelの値は配列です(複数の選択を示します)

子要素 el-checkbox の label 属性によって、この項目を選択した後の値が決まります。

テンプレート

<el-チェックボックスグループv-model="roleIds">
  <el-checkbox label="110">管理者</el-checkbox>
  <el-checkbox label="113">開発者</el-checkbox>
  <el-checkbox label="115">人事</el-checkbox>
</el-チェックボックスグループ>

データ

データ () {
  戻る {
    roleIds: [] // 現在選択されている権限リストを保存します}
}

4. カレンダーコンポーネントをカプセル化する

効果:

アイデア: このコンポーネントは比較的大きいため(ホームページにも多くのコードがあります)、別のコンポーネントとして提案します。

ステップ 1: コンポーネントをカプセル化する (登録、導入、使用の 3 つのステップ)

ステップ2: ホームページでカレンダーコンポーネントを使用する

<el-card クラス="ボックスカード">
  <div スロット="ヘッダー" クラス="ヘッダー">
    <span>勤務カレンダー</span>
  </div>
  <!-- カレンダー コンポーネントを配置します -->
  <カレンダー />
</el-card>

ステップ3: スロットを使用してカレンダーコンテンツの表示をカスタマイズする

<テンプレート>
  <el-calendar v-model="現在の日付">
    <テンプレートスロット="dateCell">
      <div class="date-content">
        <span class="text">01</span>
        <span class="rest">休憩</span>
      </div>
    </テンプレート>
  </el-calendar>
</テンプレート>
 
<スクリプト>
エクスポートデフォルト{
  データ() {
    戻る {
      curDate: 新しい日付()
    }
  }
}
</スクリプト>

5. antv-G2を使用してレーダーチャートを実装する

効果:

この種のグラフは echarts でも利用できます。ここでは Ant Data Visualization Department の製品である antv-G2 を使用します。

https://antv.vision/en

https://g2.antv.vision/en/examples/radar/radar#basic

ステップ1: 必要な依存関係をインストールする

npm インストール @antv/データセット @antv/g2

ステップ2: レーダーチャートを実装するためのコンポーネントを作成する

以下のコードは公式ウェブサイトから参照されています: https://g2.antv.vision/zh/examples/radar/radar#basic

<テンプレート>
  <div id="コンテナ" />
</テンプレート>
 
<スクリプト>
'@antv/data-set' から DataSet をインポートします。
'@antv/g2' から { Chart } をインポートします
エクスポートデフォルト{
  マウント() {
    定数データ = [
      { 項目: '作業効率'、a: 70、b: 30 }、
      { 項目: '出席'、a: 60、b: 70 }、
      { 項目: 'ポジティブさ'、a: 50、b: 60 }、
      { 項目: '同僚を助ける'、a: 40、b: 50 }、
      { 項目: '自主学習'、a: 60、b: 70 }、
      { 項目: '精度'、a: 70、b: 50 }
    ]
    const { データビュー } = データセット
    const dv = 新しい DataView().source(データ)
    dv.transform({
      タイプ: '折りたたみ'、
      fields: ['a', 'b'], // フィールドセットを展開 key: 'user', // キーフィールド value: 'score' // 値フィールド })
 
    const チャート = 新しいチャート({
      コンテナ: 'コンテナ',
      自動調整: true、
      高さ: 500
    })
    チャートデータ(dv.rows)
    chart.scale('スコア', {
      最小: 0,
      最大: 80
    })
    chart.coordinate('polar', {
      半径: 0.8
    })
    チャート.ツールチップ({
      共有: true、
      クロスヘアを表示: true、
      十字線:
        ライン: {
          スタイル: {
            線破線: [4, 4],
            ストローク: '#333'
          }
        }
      }
    })
    chart.axis('item', {
      行: null、
      ティックライン: null、
      グリッド: {
        ライン: {
          スタイル: {
            ラインダッシュ: null
          }
        }
      }
    })
    chart.axis('スコア', {
      行: null、
      ティックライン: null、
      グリッド: {
        ライン: {
          タイプ: 'line'、
          スタイル: {
            ラインダッシュ: null
          }
        }
      }
    })
 
    チャート
      。ライン()
      .position('アイテム*スコア')
      .color('ユーザー')
      .サイズ(2)
    チャート
      。ポイント()
      .position('アイテム*スコア')
      .color('ユーザー')
      .shape('円')
      .サイズ(4)
      。スタイル({
        ストローク: '#fff',
        線幅: 1,
        塗りつぶしの不透明度: 1
      })
    チャート
      。エリア()
      .position('アイテム*スコア')
      .color('ユーザー')
    チャート.レンダリング()
  }
}
</スクリプト>

6. 多言語サポート

効果: vue-i18nは Vue プロジェクトでの多言語サポートに使用されます

参考: https://kazupon.github.io/vue-i18n/zh/started.html

目的: elementUIの中国語-英語切り替え機能を実装し、中国語切り替えの効果を体験する

ステップ1: 国際パッケージをインストールする

[email protected] の npm を使用します

ステップ2: ElementUIの多言語設定

要素言語パッケージファイルsrc/lang/index.jsをインポートします。

//多言語サポートを設定する import Vue from 'vue' //Vueを導入する
import VueI18n from 'vue-i18n' // 国際プラグインパッケージをインポート import locale from 'element-ui/lib/locale'
import elementEN from 'element-ui/lib/locale/lang/en' // Ele.me の英語パッケージをインポート import elementZH from 'element-ui/lib/locale/lang/zh-CN' // Ele.me の中国語パッケージをインポート Vue.use(VueI18n) // 国際化パッケージをグローバルに登録 // 国際化プラグインのインスタンスを作成 const i18n = new VueI18n({
  //言語タイプを指定します。中国語の場合はzh、英語の場合はen。ロケール: 'zh'、
  // プラグインの言語データメッセージに elementUI 言語パックを追加します: {
    // 英語環境の言語データ en: {
      ...要素EN
    },
    // 中国語環境の言語データ zh: {
      ...要素ZH
    }
  }
})
// elementUI の言語変換関係を設定します。locale.i18n((key, value) => i18n.t(key, value))
 
デフォルトの i18n をエクスポートする

実際のプロジェクトで使用されているElementUIの機能概要については、これで終了です。より関連性の高いElementUIプロジェクト使用概要コンテンツについては、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue + ElementUI プロジェクトで webpack を使用して MPA を出力する方法
  • Vue プロジェクトで現在使用されている elementUI バージョンを表示する方法
  • Vue3+elementui plusでプロジェクトを作成する方法
  • vueプロジェクトにelementUIコンポーネントを導入する方法の詳細な説明
  • ElementUI Treeツリーコントロールを使用してノードにアイコンを追加します
  • vue+elementUi 画像アップロードコンポーネントの使用方法の詳細な説明
  • vue elementUIはタブを使用してナビゲーションバーにリンクします
  • elementUI selectコンポーネントの使い方と注意点を詳しく解説

<<:  dockerネットワーク双方向接続の詳細な説明

>>:  MybatisはSQLクエリのインターセプションと変更の詳細を実装します

推薦する

Vue3 リストインターフェースデータ表示の詳細

目次1. リストインターフェースの表示例2. データを表示する2.1. コンポーネントがリストに表示...

HTML の iframe と frame の違いを例を使って説明します

プロジェクトで frameset 属性を使用したことがあるかどうかはわかりません。昨年、オンライン ...

HTML チュートリアル: よく使われる HTML タグのコレクション (6)

導入された HTML タグは、必ずしも XHTML 仕様に完全に準拠しているわけではありません。実際...

K3s 入門ガイド - Docker で K3s を実行するための詳細なチュートリアル

k3dとは何ですか? k3d は、Docker で K3s クラスターを実行するための小さなプログ...

KVM 仮想化のインストール、展開、管理のチュートリアル

目次1.kvmの展開1.1 kvmのインストール1.2 kvm Web管理インターフェースのインスト...

Dockerはmysqldumpコマンドを使用してプロジェクト内のmysqlデータをバックアップおよびエクスポートします。

mysqldump コマンドはじめに: データベースバックアッププログラム形式: mysqldum...

qt.qpa.plugin の問題を解決: Ubuntu 18.04 の Qt で Qt プラットフォーム プラグイン「xcb」をロードできませんでした

問題の説明Qt5.15.0 をインストールした後、テスト ケースを実行するとエラーが表示されます。 ...

MySQLからClickHouseに移行する5つの方法

データ移行は、MySQL から ClickHouse にインポートする必要があります。概要プランは以...

MySQL でのフィルター条件なしのカウントの詳細な説明

カウント(*)成し遂げる1. MyISAM: テーブル内の行の総数をディスク上に保存し、フィルタリン...

MySQL インデックスの使用方法 (単一列インデックスと複数列インデックス)

1. 単一列インデックスどの列にインデックスを作成するかを選択することは、パフォーマンス最適化プロ...

MySQLデータベースインデックスの欠点と適切な使用

目次インデックスの適切な使用1. 通常のインデックスのデメリット2. 主キーインデックスの落とし穴3...

MySQL エラー番号 1129 の解決方法

SQLyog が MySQL に接続する際にエラー番号 1129 が発生します: mysql エラー...

Vue の get リクエストと post リクエストの違いのまとめ

このチュートリアルの動作環境: Windows 7 システム、vue 2.9.6 バージョン、DEL...

Linux サーバーの状態を監視する方法

私たち、特に Linux エンジニアは毎日 Linux サーバーを扱っています。サーバーのセキュリテ...

Nodejs プラグインと使用方法の概要

このチュートリアルの動作環境: Windows 7 システム、nodejs バージョン 12.19....