1024创新实验室-公告

助力抖音1000个粉丝,开播写代码🎉🎉

打开【抖音APP】-点击【左上角侧边栏】-【点击扫一扫】-【进行关注】🎉🎉

和1024创新实验室一起,热爱代码,热爱生活,永远年轻,永远前行🎉🎉


Skip to content

好用的内置组件

一、背景与问题

在开发的过程中经常会复用一些组件,这些组件没有业务属性,但是很常用。

二、Loading组件

内置SmartLoading组件,代码位于src/framework/smart-loading

  • 此Loading基于 pinia状态管理,全局唯一
  • 使用时候直接import 引入
  • 开启: SmartLoadin.show()
  • 关闭: SmartLoadin.hide()

举例:

js
  import { SmartLoading } from '/@/components/framework/smart-loading';

  async function getUserTableColumns(tableId, columns) {
    // 开始loading
    SmartLoading.show();
    let userTableColumnArray = [];
    try {
      let res = await tableColumnApi.getColumns(tableId);
    } catch (e) {
      smartSentry.captureError(e);
    } finally {
      // 隐藏loading
      SmartLoading.hide();
    }
  }

三、枚举组件

枚举组件支持:

  • 下拉框 smart-enum-select
  • 单选框 smart-enum-radio
  • 复选框 smart-enum-checkbox

具体代码,请见src/components/framework;

使用举例:

js
<template 中>
<SmartEnumSelect enum-name="GOODS_STATUS_ENUM" v-model:value="queryForm.goodsStatus" width="160px" />
....
<script 中>
import { GOODS_STATUS_ENUM } from '/@/constants/business/erp/goods-const';
import SmartEnumSelect from '/@/components/framework/smart-enum-select/index.vue';
...

四、字典组件

dict-select 字典下拉框。 代码在 src/components/support/dict-select;

五、文件组件

  • 文件预览 file-priview
  • 文件预览弹窗 file-priview-modal
  • 文件上传 file-upload