Vue のフィルターの適用シナリオの詳細な説明

Vue のフィルターの適用シナリオの詳細な説明

filterは通常、特定の値をフィルターするために使用されます。たとえば、フィールドが空だが、フロントエンドに「–」を表示したい場合、これを使用できます。

最近、非表示にする必要がある金額を「***」として表示するなど、特定のフィールドを他のフォームに表示するための権限を設定する必要があるという要件に遭遇しました。

1.金額権限を取得する

2.フィルターを使用して条件を満たすフィールドをフィルタリングする

3.非表示のスタイルを戻す

コードを見てみましょう:

// 残りは、私がマークしたものを見てください。 //scope.row は現在の行を取得します <template slot-scope="scope">
            <テンプレート v-if="item.formType == 'ラベル'">
              <el-ボタン
                v-if="item.link!=未定義"
                タイプ="text" サイズ="small" @click="handleColumnClick(item.link,scope.row)">
                //filter は通常フィルタリングには使用されません|
                //showLabelValue は書き出されません //メソッドの 1 つのパラメータに対応するフィルタには 2 つのパラメータがあります //最初のパラメータは前の列によって返される値です //N-1 番目のパラメータは渡す値です {{ scope.row | showLabelValue(item) | canViewAmount(canViewAmount,xtType,item) }}
              </el-button>
              <テンプレート v-else>
                {{ scope.row | showLabelValue(item) | canViewAmount(canViewAmount,xtType,item) }}
              </テンプレート>
            </テンプレート>
</テンプレート>
エクスポートデフォルト{
 フィルター:
 //row は、scope.rowshowLabelValue(row,item) によって返されるデータです。
 '値'を返す
 }
 //値、canView 権限、xtType のページ、アイテム リスト データ //showLabelValue が値を返す場合、対応する canViewAmount パラメータ値は 'value' です
    canViewAmount(値、canView、xtType、項目) {
    //条件が満たされると、「***」が表示されます(表示のみ)。データベースに保存される内容は元のリストのままです。if (!canView && xtType == 'salesOrder') {
        if (item.field == 'priceNoTax' || item.field == 'amountNoTax' || item.field == 'price' || item.field == 'amount') {
          戻る '***'
        }
      }
      if (!canView && xtType == 'プロジェクト') {
        if (item.field == 'amount' || item.field == 'amountNoTax') {
          戻る '***'
        }
      }
      戻り値
    }
  },

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • VUEでフィルターを使用する方法
  • Vueフィルターとディレクティブがこれにアクセスする問題の詳細な説明
  • Vueでフィルターを使用するときにこれが未定義になる問題
  • vueフィルターがこのオブジェクトを取得できない問題を解決する
  • Vue のデータとイベントのバインディングとフィルターの詳細な説明
  • Vueフィルターの使い方
  • Vue フィルターの 4 つの使用方法のまとめ

<<:  jquery.form.js が IE でアクセスを拒否し、入力アップロード ボタンをアクティブにクリックする必要がある問題

>>:  MySQL における IF()、IFNULL()、NULLIF()、および ISNULL() 関数の使用に関する詳細な説明

推薦する

MySQL 5.7 インストール MySQL サービスを開始できませんが、サービスはエラーを報告しません

MySQL 5.7 をインストールするには 2 つの方法があります。1 つはインストーラをダウンロー...

Dockerfile における ENTRYPOINT と CMD の違い

Docker システムの学習チュートリアルでは、Dockerfile を使用して Docker イメ...

MySQL 完全崩壊: クエリフィルタ条件の詳細な説明

概要実際のビジネス シナリオ アプリケーションでは、ビジネス条件に基づいて対象データを取得およびフィ...

CSS3 でクールなスライス画像カルーセル効果を実現

今日は、CSS を使用してクールな画像カルーセル コンポーネントを作成する方法を学びます。その原理は...

画像をハイパーリンクとして使用したときに表示される青いボックスを削除する方法

最近、Dreamweaver を使用して製品プレゼンテーションを作成し、画像にハイパーリンクを追加し...

Mysqlのマージ結果と水平スプライシングフィールドの実装手順

序文最近、レポート機能に取り組んでいたのですが、ある月に各部署に入社した人と退職した人の数をカウント...

Vue Routerはバックグラウンドデータに応じて異なるコンポーネントをロードします

目次実際のプロジェクトで遭遇する要件実装が間違っているところもある私は個人的に、実装するより良い方法...

ウェブデザイナーが持つべき資質と能力

Web デザインは、インターネットの出現後に誕生した新興の周辺産業です。 Web ページは店頭のよう...

Mysql5.7 のルートパスワードを忘れた場合の対処法 (シンプルで効果的な方法)

前回の記事では、MySQL 5.7でルートパスワードを忘れた場合と、MySQL 5.7でルートパスワ...

Swiper.jsプラグインを使用すると、カルーセル画像を非常に簡単に実装できます。

Swiper は、携帯電話やタブレットなどのモバイル端末向けに設計された、純粋な JavaScri...

JavaScript シングルスレッドと非同期の詳細

目次1. タスクキュー2. 混乱を招く問題を説明する1. setTimeout(f1,0)とは何です...

CSSで制御可能な点線を実装する方法

序文CSS を使用して点線を生成するのは、フロントエンド開発者にとっては簡単です。一般的に、これを実...

よく使用される入力テキストボックスの内容は自動的に垂直方向に中央揃えされ、クリックするとデフォルトのプロンプトテキストは空になります。

3つの機能: 1. コンテンツの垂直方向の自動中央揃え2. デフォルトのプロンプトテキストは灰色で表...

MySQLのインデックス選択と最適化の詳細な説明

目次インデックスモデルB+ツリーインデックスの選択インデックスの最適化インデックスの選択性カバーイン...

JS でクリップボード API を使用する方法

目次1. Document.execCommand() メソッド(1)コピー操作(2)貼り付け操作(...