vueにおけるfilterの適用シーンについて解説します。
2022-01-13 19:22:45
filter
これは一般的に特定の値をフィルタリングするために使用されます。例えば、空のフィールドがあるが、フロントエンドに "-" を表示したい場合、これを使用することができます。
最近、他のフォームで表示される特定のフィールドに対して、"***" のように、非表示にする必要がある金額を表示する許可を設定できるようにする要件にぶつけました。
1.
金額のパーミッション取得
2.
条件を満たすフィールドをフィルターで絞り込む
3. 非表示のスタイルを返す
のコードをご覧ください。
//For the rest of the look, just look at what I marked up
//scope.row Get the current row
<template slot-scope="scope">
<template v-if="item.formType == 'label'">
<el-button
v-if="item.link!=undefined"
type="text" size="small" @click="handleColumnClick(item.link,scope.row)">
//filter generally not used for filtering with|
//showLabelValue will not be written out
// method a parameter corresponding to the filter is two parameters
//The first is the value returned by the previous column
//The N-1st one is the value you want to pass
{{ scope.row | showLabelValue(item) | canViewAmount(canViewAmount,xtType,item) }}
</el-button>
<template v-else>
{{ scope.row | showLabelValue(item) | canViewAmount(canViewAmount,xtType,item) }}
</template>
</template>
</template>
export default {
filters: {
//row is the data returned by scope.row
showLabelValue(row,item){
return 'value'
}
//value value, canView permission, xtType which page, item list data
//If showLabelValue returns value, the value of the corresponding canViewAmount parameter is 'value'
canViewAmount(value, canView, xtType, item) {
// meet the conditions with "***" display (just display), save to the database or the original list content
if (!canView && xtType == 'salesOrder') {
if (item.field == 'priceNoTax' || item.field == 'amountNoTax' || item.field == 'price' || item.field == 'amount') {
return '***'
}
}
if (!canView && xtType == 'project') {
if (item.field == 'amount' || item.field == 'amountNoTax') {
return '***'
}
}
return value
}
},
概要
この記事があなたのお役に立ち、Script Houseの他のコンテンツにもっと注目していただけることを願っています。
関連
-
JSクロスドメインソリューション リアクト構成 リバースプロキシ
-
fetch ネットワークリクエストラッパーの説明例
-
Vueの要素ツリーコントロールに破線を追加する説明
-
元のイベントが実行されなかった後に要素を追加するためのjQueryソリューション
-
vue for 登録ページ効果 vue for sms 認証コードログイン
-
Vueにシンプルなメモ帳機能を実装
-
vueはopenlayersを使用してスカイマップとガオードマップをロードする
-
vue+webrtc(Tencent cloud)ライブ機能の実践を実現するために
-
vueが定義するプライベートフィルタと基本的な使い方
-
Vueでルートネスティングを実装する例
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン