# vue-enum

> 前端枚举工具

Latest version **2.0.1** (published 2021-04-23) · MIT license · 0 weekly downloads

## Install

```sh
npm install vue-enum
pnpm add vue-enum
yarn add vue-enum
bun add vue-enum
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.1 |
| Published | 2021-04-23 |
| First published | 2019-07-12 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 21.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 22 |
| Author | 1024-lab |
| Maintainers | 1024-lab |

## Links

- npm: https://www.npmjs.com/package/vue-enum
- Repository: https://github.com/1024-lab/vue-enum
- Homepage: https://github.com/1024-lab/vue-enum#readme
- Issues: https://github.com/1024-lab/vue-enum/issues
- npm.io page: https://npm.io/package/vue-enum

## Recent versions

- 2.0.1 (latest) — 2021-04-23
- 2.0.0 — 2021-04-23
- 1.0.5 — 2019-07-12
- 1.0.4 — 2019-07-12
- 1.0.3 — 2019-07-12
- 1.0.2 — 2019-07-12
- 1.0.1 — 2019-07-12
- 1.0.0 — 2019-07-12

## README

# vue-enum

> 前端常量 枚举工具

 目前vue-enum2.0为适配vue3.0的版本，如需vue2.x的项目使用，请安装1.05版本
## **一、安装及初始化方法**

``` 
1. npm install vue-enum --save
2. 按以下格式定义您的枚举对象

let enumInfo = {
    SOURCE_IN_TYPE: {
        PURCHASE_IN: {
            value: 1,
            desc: '采购入库'
        },
        REFUND_IN: {
            value: 2,
            desc: '退货入库'
        },
        CHECK_IN: {
            value: 3,
            desc: '盘点入库'
        },
        CONFIRM_IN: {
            value: 4,
            desc: '取消订单入库'
        }
    }
}
3.import App from './App.vue'
4. import Enum from 'vue-enum'
5.const app = createApp(App)
6.app.use(Enum,{enumInfo})

```


## **二、使用方法**

目前插件提供四个方法

可在全局使用this.$enum.getDescByValue() 、this.$enum.getValueDescList() 、this.$enum.getValueDesc() this.$enum.isDependConstant() 调用

也可在inject中主动声明调用
inject: ['constantInfo','$enum']
this.$enum.getDescByValue() .....

根据枚举值获取描述
示例：

>在表格渲染时经常遇到需要将状态转换成描述的情况,此时可以使用 

 ```
 params.row.sourceType=1
 this.$enum.getDescByValue('SOURCE_IN_TYPE', params.row.sourceType)) //采购入库
 ```


>下拉菜单经常需要使用键值对来渲染select的option [{value:desc}]

 ```
 let sourceTypeList =this.$enum.getValueDescList('SOURCE_IN_TYPE')  
 //[    
     {value: 1, desc: "采购入库"},
     {value: 2, desc: "退货入库"},
     {value: 3, desc: "盘点入库"},
     {value: 4, desc: "取消订单入库"}
    ]

    <Select>
        <Option
            v-for="(item,index) in sourceTypeList"
            :value="item.value"
            :key="index"
        >{{item.desc}}</Option>
    </Select>
  
 ```
>根据枚举名获取对应的value描述键值对{value:desc}

```
this.$enum.getValueDesc('SOURCE_IN_TYPE')
//
{
    1:"采购入库",
    2:"退货入库",
    3:"盘点入库",
    4:"取消订单入库"
}
```
>根据枚举名及描述判断枚举值是否与目标值相等 Boolean


this.$enum.isDependConstant('SOURCE_IN_TYPE','PURCHASE_IN',1)
```
//
true
```

---
_Source: https://npm.io/package/vue-enum · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
