使用数据字典

数据字典

首先我们需要在字典管理中创建一个字典

使用全局组件

::: tip

建议使用该方式

:::

使用方式:

  1. <template>
  2. <div class="app-container">
  3. </div>
  4. </template>
  5. <script>
  6. export default {
  7. // 设置数据字典
  8. dicts: ['job_status'],
  9. created() {
  10. // 得到完整数据
  11. console.log(this.dict.job_status)
  12. // 打印简化后的label数据
  13. console.log(this.dict.job_status.label)
  14. }
  15. }
  16. </script>

打印如下:

1、完整数据

使用数据字典 - 图1

2、简化后的label数据

使用数据字典 - 图2

使用混入方式

源码位于: src/mixins/initDict.js,代码如下

(1)引入组件

  1. import initDict from '@/mixins/initDict'
  2. export default {
  3. mixins: [initDict]
  4. }

(2)使用钩子函数获取字典

  1. import initDict from '@/mixins/initDict'
  2. export default {
  3. mixins: [initDict],
  4. created() {
  5. this.$nextTick(() => {
  6. // 加载数据字典
  7. this.getDict('job_status')
  8. })
  9. }
  10. }

(3)使用字典

  1. <el-form-item v-if="form.pid !== 0" label="状态" prop="enabled">
  2. <el-radio v-for="item in dicts" :key="item.id" v-model="form.enabled" :label="item.value">{{ item.label }}</el-radio>
  3. </el-form-item>