1. 需要ユーザーが自分でテーブルを構成できるようになり、システム コードのメンテナンスの量が削減されます。 2. 効果ヘッダーjson:
テーブルヘッド: [{ キー: '1'、 ラベル: '日付'、 プロパティ: '日付'、 幅: '100', ヘッダー配置: 'center'、 配置: '中央'、 スコープ: false、 ソート可能: true }, { キー: '2'、 ラベル: '名前', プロパティ: '名前', 幅: '100', ヘッダー配置: 'center'、 配置: '中央'、 スコープ: false、 ソート可能: false }, { キー: '3'、 ラベル: '分析'、 プロパティ: '分析'、 幅: '100', ヘッダー配置: 'center'、 プロパティChildren: [{ キー: '31'、 ラベル: 「前年比」、 プロパティ: 'TB'、 幅: '100', ヘッダー配置: 'center'、 配置: '中央'、 スコープ: true、 ソート可能: true }, { キー: '32'、 ラベル: 「月別」、 プロップ: 'HB', 幅: '100', ヘッダー配置: 'center'、 配置: '中央'、 スコープ: true、 ソート可能: true },] }, { キー: '4'、 ラベル: '金額', プロパティ: '価格'、 幅: '100', ヘッダー配置: 'center'、 配置: '右'、 スコープ: false、 ソート可能: true }, { キー: '5'、 ラベル: '住所'、 プロパティ: 'アドレス', 幅: ''、 ヘッダー配置: '左'、 配置: '左'、 スコープ: false、 ソート可能: false } ]、 3. すべてのコード<テンプレート> <el-テーブル :data="テーブルデータ" ストライプ サイズ変更可能 国境 高さ="300" スタイル="幅: 1000px" > <el-テーブル列 タイプ="インデックス" :index="インデックスメソッド" label="シリアル番号" align="center" 幅= "60" > </el-table-column> <el-テーブル列 v-for="(item, index) in tableHead" :key="インデックス" :prop="アイテム.prop" :label="アイテム.ラベル" :width="アイテムの幅" :align="アイテム.align" :headerAlign="item.headerAlign" :sortable="アイテム.sortable" オーバーフローツールチップを表示 > <el-テーブル列 v-for="(item, index) in item.propChildren" :key="インデックス" :prop="アイテム.prop" :label="アイテム.ラベル" :width="アイテムの幅" :align="アイテム.align" :headerAlign="item.headerAlign" :sortable="アイテム.sortable" オーバーフローツールチップを表示 > <テンプレート スロット スコープ="スコープ"> <div v-if="item.scope === true"> <div v-if="scope.row[item.prop] == ''"> {{ スコープ.行[項目.プロパティ] }} </div> <div v-else-if="scope.row[item.prop] > '0'" スタイル="color: green"> {{scope.row[item.prop] }}%<i class="el-icon-caret-top"></i> </div> <div v-else-if="scope.row[item.prop] < '0'" スタイル="color: red"> {{scope.row[item.prop] }}%<i class="el-icon-caret-bottom"></i> </div> </div> <div v-else-if="scope.row[item.prop] < '0'" スタイル="color: red"> {{ スコープ.行[項目.プロパティ] }} </div> <div v-else>{{ スコープ.行[item.prop] }}</div> </テンプレート> </el-table-column> <テンプレート スロット スコープ="スコープ"> <div v-if="item.scope === true"> <div v-if="scope.row[item.prop] == ''"> {{ スコープ.行[項目.プロパティ] }} </div> <div v-else-if="scope.row[item.prop] < '0'" スタイル="color: red"> {{ スコープ.行[項目.プロパティ] }} </div> <div v-else-if="scope.row[item.prop] > '0'"> {{ スコープ.行[項目.プロパティ] }} </div> </div> <div v-else>{{ スコープ.行[item.prop] }}</div> </テンプレート> </el-table-column> </el-table> </テンプレート> <スクリプト> エクスポートデフォルト{ データ() { 戻る { // 単一のヘッダーがこの列のデータを比較するかどうかは、スコープによって異なります。 テーブルヘッド: [{ キー: '1'、 ラベル: '日付'、 プロパティ: '日付'、 幅: '100', ヘッダー配置: 'center'、 配置: '中央'、 スコープ: false、 ソート可能: true }, { キー: '2'、 ラベル: '名前', プロパティ: '名前', 幅: '100', ヘッダー配置: 'center'、 配置: '中央'、 スコープ: false、 ソート可能: false }, { キー: '3'、 ラベル: '分析'、 プロパティ: '分析'、 幅: '100', ヘッダー配置: 'center'、 プロパティChildren: [{ キー: '31'、 ラベル: 「前年比」、 プロパティ: 'TB'、 幅: '100', ヘッダー配置: 'center'、 配置: '中央'、 スコープ: true、 ソート可能: true }, { キー: '32'、 ラベル: 「月別」、 プロップ: 'HB', 幅: '100', ヘッダー配置: 'center'、 配置: '中央'、 スコープ: true、 ソート可能: true },] }, { キー: '4'、 ラベル: '金額', プロパティ: '価格'、 幅: '100', ヘッダー配置: 'center'、 配置: '右'、 スコープ: false、 ソート可能: true }, { キー: '5'、 ラベル: '住所'、 プロパティ: 'アドレス', 幅: ''、 ヘッダー配置: '左'、 配置: '左'、 スコープ: false、 ソート可能: false } ]、 // データテーブルData: [{ 日付: '2016-05-02'、 名前: 王小湖、 HB: '-1.1'、 TB: '2.5'、 価格: '2982.01', 住所: 上海市普陀区金沙江路1518号、... }, { 日付: '2016-05-04'、 名前: 王小湖、 HB: '-0.28', TB: '1.1'、 価格: '2982.01', 住所: '上海市普陀区金沙江路1517号' }, { 日付: '2016-05-01'、 名前: 王小湖、 HB: '28'、 TB: '-0.11'、 価格: '2982.01', 住所: '上海市普陀区金沙江路1519号' }, { 日付: '2016-05-03'、 名前: '張三'、 HB: '21'、 TB: '2.11'、 価格: '-201.02', 住所: '上海市普陀区金沙江路1516号' }, { 日付: '2016-05-11'、 名前: '張三'、 HB: '0.28'、 TB: '-1.1'、 価格: '2982.01', 住所: '上海市普陀区金沙江路1516号' }, { 日付: '2016-05-02'、 名前: 王小湖、 HB: '-0.18'、 TB: '-1.15'、 価格: '2982.01', 住所: 上海市普陀区金沙江路1518号、... }, { 日付: '2016-05-04'、 名前: 王小湖、 HB: '-1.01'、 TB: '1.1'、 価格: '2982.01', 住所: '上海市普陀区金沙江路1517号' }, { 日付: '2016-05-01'、 名前: 王小湖、 HB: '-28'、 TB: '2.11'、 価格: '2982.01', 住所: '上海市普陀区金沙江路1519号' }, { 日付: '2016-05-03'、 名前: '張三'、 HB: ''、 TB: '0.1'、 価格: '-200.01', 住所: '上海市普陀区金沙江路1516号' }, { 日付: '2016-05-11'、 名前: '張三'、 HB: '18'、 TB: '-0.81', 価格: '2982.01', 住所: '上海市普陀区金沙江路1516号' }], } }, メソッド: { インデックスメソッド(インデックス) { インデックス + 1 を返します。 } } } </スクリプト> これで、vue + element dynamic multiple headers と dynamic slots に関するこの記事は終了です。vue + element dynamic multiple headers と dynamic slots に関するその他の関連記事については、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Linuxネットワーク設定の基本操作コマンドを詳しく解説
>>: MySQL マスタースレーブレプリケーションの実装手順
目次概要必要とするアプリURL PWA にはどのような技術コンポーネントが必要ですか?マニフェストフ...
(1)はじめに: clipboard.js は、テキストをクリップボードにコピーする機能を実装する軽...
みなさんこんにちは、Qiufengです。最近、WeChatは新しい機能をリリースしました(WeCha...
まずはコードと効果を見てみましょう↓ <スタイル> 。主要 { アウトライン: 1px ...
目次01. リスナーウォッチ(1)機能(2)特性と方法(3)監視対象(4)リスニングアレイ02. 計...
インデックス作成は大学図書館の書誌インデックスの構築に似ており、データ検索の効率を向上させ、データベ...
JavaScript 入門JavaScript は軽量なインタープリタ型の Web 開発言語です。言...
目次1. オブジェクトのプロパティ1.1 属性表記2. プロパティ名を計算する3.オブジェクトメソッ...
1. AデータベースとBデータベースの同期ステータスを確認する次のコマンドを入力すると多くの情報が表...
多くの友人は、フロントエンドを学習するときに、ボックス モデルがデフォルトで正方形であることに気付き...
1. MySQL のインデックスの使用方法インデックスは、特定の列の値を持つ行をすばやく見つけるため...
序文ヒント:以下はこの記事の主な内容です。以下のケースを参考にしてください。 1. オブジェクトスト...
元データと対象データSQL文を実装する(最大) 選択 店、 月、 最大(dz,fz,sp) が最大値...
序文Ubuntu 18.04 LTS で IP アドレスを設定する方法は、これまで使用されていた設定...
目次導入なぜわざわざ?落とし穴のあるコミュニティソリューション(Vue を例に挙げる)現時点では良い...