日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Vue后臺中優雅書寫狀態標簽的方法實例

瀏覽:137日期:2023-02-11 09:52:11
目錄前言優化抽離變量二次封裝 el-tag 組件使用總結前言

在后臺系統開發中,對于列表,常常有一些狀態字段的展示,比如審核狀態、退貨申請狀態等等,并且往往伴隨有狀態篩選的列表查詢條件,同時狀態顯示對應不同顏色,在寫代碼時有些人往往是這么做的:

<template> <el-form :model='query'> <el-form-item label='審批狀態' prop='status'> <el-select v-model='query.status' clearable><el-option v-for='item in statusOptions' :key='item.value' :label='item.label' :value='item.value'/> </el-select> </el-form-item> <el-form-item> <el-button type='primary'>查詢</el-button> <el-button type='danger'>重置</el-button> </el-form-item> </el-form> <el-table :data='list'> <el-table-column label='審批狀態'> <template #default='{ row }'><el-tag v-if='row.status === 0' type='primary'>審核中</el-tag><el-tag v-if='row.status === 1' type='success'>審核成功</el-tag><el-tag v-if='row.status === 2' type='danger'>審核失敗</el-tag> </template> </el-table-column> </el-table></template>

export default { data() { return { query: { status: null }, statusOptions: [ { label: ’審核中’, value: 0 }, { label: ’審核成功’, value: 1 }, { label: ’審核失敗’, value: 2 } ], list: [] } }}

以上代碼雖然是實現了需求,但卻顯得不夠優雅,代碼維護成本較高:

標簽里充斥著較多的 v-if 且與 data 里的數據重復,造成冗余。 當有新增或修改時,需要改動多個地方,例如要改動文案時下拉框和表格里的都要改。 如果是多個頁面都有該狀態需要顯示,復制粘貼,最后當需求變動時勢必會增加改動成本。優化

針對上面的問題,咱們通過以下措施來進行搶救。

抽離變量

建立常量文件存放 statusOptions,增加 el-tag 組件的 type 字段來區分顯示不同的顏色,最后將其導出。

// const/index.js// 審核狀態const statusOptions = [ { label: ’審核中’, value: 0, type: ’primary’ }, { label: ’審核成功’, value: 1, type: ’success’ }, { label: ’審核失敗’, value: 2, type: ’danger’ }]export { statusOptions}二次封裝 el-tag 組件

// components/stats-tag.vue<template> <el-tag :type='getValue(’type’)'> {{ getValue(’label’) }} </el-tag></template>

export default { name: ’StatusTag’, props: { options: { type: Array, required: true, default: () => [] }, status: { type: [String, Number], required: true } }, computed: { getValue({ options, status }) { return (key) => {const item = options.find(e => e.value === status)return (item && item[key]) || ’’ } } }}使用

<template> <el-form :model='query'> <el-form-item label='審批狀態' prop='status'> <el-select v-model='query.status' clearable><el-option v-for='item in statusOptions' :key='item.value' :label='item.label' :value='item.value'/> </el-select> </el-form-item> <el-form-item> <el-button type='primary'>查詢</el-button> <el-button type='danger'>重置</el-button> </el-form-item> </el-form> <el-table :data='list'> <el-table-column label='審批狀態'> <template #default='{ row }'><!-- 使用 --><status-tag :options='statusOptions' :status='row.status'/> </template> </el-table-column> </el-table></template>

import StatusTag from ’@/components/status-tag’// 導入import { statusOptions } from ’@/const’export default { components: { StatusTag }, data() { return { statusOptions } }}

經過優化后,如果有修改變動,只需要改動 const/index.js 文件即可,無需到處修。

// const/index.js// 審核狀態const statusOptions = [ { label: ’審核中’, value: 0, type: ’primary’ }, { label: ’審核成功’, value: 1, type: ’success’ }, { label: ’審核失敗’, value: 2, type: ’danger’ }, // 增加取消狀態 { label: ’審核取消’, value: 3, type: ’warning’ }]export { statusOptions}總結

到此這篇關于Vue后臺中優雅書寫狀態標簽的文章就介紹到這了,更多相關Vue書寫狀態標簽內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Vue
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品精品99| 男女激情视频一区| 国产亚洲一区二区三区啪| 亚洲一区二区三区无吗| 亚洲专区一区| 日韩有吗在线观看| 国产精品极品| 98精品久久久久久久| 91亚洲国产| 国产欧美一区二区色老头| 国产激情欧美| 日韩在线不卡| 狠狠色狠狠色综合日日tαg| 一区二区高清| 国产三级精品三级在线观看国产| 国产精品亚洲欧美一级在线| 久久精品 人人爱| av资源亚洲| 三级欧美韩日大片在线看| 日本成人精品| 精品三级av| 免费观看不卡av| 少妇精品久久久一区二区| 久久国产精品99国产| 蜜臀久久99精品久久久久宅男| 国产亚洲观看| 欧美日韩国产高清| 欧美一级久久| 天堂资源在线亚洲| 亚洲精品福利| 久久精品国产99久久| 日韩成人午夜精品| 久久影院一区二区三区| 久久三级中文| 在线亚洲观看| 你懂的亚洲视频| 宅男在线一区| 国产欧美88| 久久国产精品亚洲77777| 九色精品91| 清纯唯美亚洲综合一区| 国产欧美日韩综合一区在线播放| 精品免费av在线| 在线日韩成人| 日韩视频在线一区二区三区| 国产一区二区三区久久| 日本精品国产| 99综合视频| 中文字幕在线看片| 亚洲一级大片| 婷婷综合网站| 超级白嫩亚洲国产第一| 蜜臀av一区二区在线免费观看 | 国产精品2023| 欧美日韩亚洲一区在线观看| 国产999精品在线观看| 日本综合视频| 激情欧美国产欧美| 国产极品久久久久久久久波多结野| 另类av一区二区| 精品中文一区| 国产精品亚洲四区在线观看| 一区二区三区四区日韩| 欧美日韩尤物久久| 日韩欧美字幕| 欧美一区影院| 国产日韩一区二区三免费高清| 婷婷综合成人| 亚洲综合激情在线| 欧美日韩国产综合网| 99精品美女| 久久国产亚洲精品| 国产一区亚洲| 中文另类视频| 91国语精品自产拍| 亚洲制服少妇| 日韩av一区二区三区| 欧美欧美黄在线二区| 国产精品调教| 精品一区二区男人吃奶| 蜜臀av国产精品久久久久| 蜜桃免费网站一区二区三区| 亚洲精品成a人ⅴ香蕉片| 日韩av一二三| www.51av欧美视频| 亚洲高清成人| 美女精品在线观看| 国产精品自拍区| 国产一区二区三区四区大秀| 日韩国产一区| av一区二区高清| 日韩一二三区在线观看| 久久爱www.| 日韩欧美视频专区| jiujiure精品视频播放| 亚洲午夜电影| 日本欧美久久久久免费播放网| 国产精品美女午夜爽爽| 日韩av在线播放网址| 欧美在线观看视频一区| 蜜桃久久久久久| 久久男人天堂| 日韩精品一级中文字幕精品视频免费观看| 亚洲欧洲国产精品一区| 精品久久久网| 久久精品青草| 日韩在线视频一区二区三区| 欧美黑人巨大videos精品| 色婷婷狠狠五月综合天色拍| 亚洲综合电影一区二区三区| 免费看黄色91| 欧美成人基地| 久久av电影| 亚洲一区成人| 热三久草你在线| 国产欧美日韩精品一区二区免费| 日韩欧美一区二区三区在线视频 | 国产精品嫩草99av在线| 国产精品国产一区| 日本伊人久久| 国产精品久久久久久久久妇女| 亚洲精品福利| 国产精品日本| 香蕉人人精品| 亚洲视频综合| 天堂网av成人| 色爱综合av| 亚洲va在线| 99久久久久国产精品| 成人日韩av| 精品国产精品久久一区免费式| 奇米色欧美一区二区三区| 久久国产精品毛片| 国产麻豆综合| 日韩一区欧美二区| 欧美不卡高清一区二区三区| 国产精品久久久久久久久久10秀| 久久av导航| 久久一区国产| 国产aa精品| 午夜av不卡| 国产综合婷婷| 伊人影院久久| 日韩欧美中文字幕电影| 日韩黄色免费网站| 日韩av中文字幕一区二区| 欧美综合精品| 久久精品国产99国产| 欧美aⅴ一区二区三区视频| 麻豆国产精品视频| 麻豆国产精品| 欧美不卡高清一区二区三区| 99精品美女| 亚洲精品大全| 国产成人精品一区二区三区在线| 麻豆一区在线| 久久伦理在线| 日韩激情啪啪| 成人午夜亚洲| 久久成人亚洲| 丁香婷婷久久| 三级一区在线视频先锋| 日韩av影院| 99成人在线视频| 91精品麻豆| 日韩av在线中文字幕| 久久成人亚洲| 亚洲一区有码| 国产精品99一区二区三区| 国产精品毛片在线看| 国产精品a级| 福利视频一区| 亚洲精品系列| 好看不卡的中文字幕| 国产精品成人国产| 中文亚洲欧美| 黄色欧美在线| 亚洲aa在线| 国产一区91| 岛国av在线网站| 中文字幕一区二区精品区| 亲子伦视频一区二区三区| 欧美久久一区二区三区| 蜜桃成人av| 色婷婷色综合| 国产激情一区| 91九色综合| 亚洲精品在线a| 在线亚洲国产精品网站| 91精品精品| 日韩精品影视| 美女视频免费精品| 国产伦精品一区二区三区在线播放 | 国产乱子精品一区二区在线观看| 免费国产自久久久久三四区久久 | 久久青草久久| 国产精品精品| 国产va在线视频| 极品av在线| 日本精品不卡|