首页 > 其他分享 >adminPage-vue3依赖 v1.2.0新增组件 DetailsModule说明文档

adminPage-vue3依赖 v1.2.0新增组件 DetailsModule说明文档

时间:2024-10-14 15:50:08浏览次数:6  
标签:data1 DetailsModule adminPage label v1.2 key 数据 data3 data2

adminPage-vue3依赖 v1.2.0新增组件 DetailsModule说明文档

引入

import { DetailsModule} from 'adminpage-vue3'

思路介绍

本组件主要是通过配置项显示详情表单,类似于elementPlusElDescriptions 描述列表但是本组件的label,value是固定宽度的, 非动态变化

DetailsModuleAPI汇总

属性

属性名说明类型默认值版本号
config显示详情的配置项,当配置是对象时,内部将自动映射为[ Object ]Array/Object[]1.2.0
data显示数据的对象Object{}1.2.0
nullText数据为空的时候显示的内容String’‘1.2.0

插槽

插槽名说明版本号
config里配置的插槽config里配置的插槽1.2.0

自定义对象

config(array<object>/object 类型)

属性名说明类型默认值版本号
title模块标题String-/-1.2.0
nullText数据为空的时候显示的内容String’‘1.2.0
moduleKey模块字段所在对象key值String-/-1.2.0
list配置具体显示详情字段列表,配置详见 config.listArray-/-1.2.0
config.list(array<object> 类型)
属性名说明类型默认值版本号
key显示字段的key值String-/-1.2.0
slotName插槽名String-/-1.2.0
column所占行数Int11.2.0
nullText数据为空的时候显示的内容String’‘1.2.0

使用

基础使用范例

在这里插入图片描述

<template>
  <div style="margin: 10% 20%">
    <DetailsModule
      :config="detailConfig"
      :data="detailData"
      nullText="暂无数据"
    >
      <template #showButton>
        <el-button type="primary" link> 查看 </el-button>
      </template>
    </DetailsModule>
  </div>
</template>
<script setup>
import { ref } from 'vue'
const detailData = ref({
  data1: 'data1',
  data2: '',
  data3: '',
  data4: 'data4',
  data5: 'data5',
  dataObj: {
    data1: 'dataObj.data1',
    data2: 'dataObj.data2',
    data3: 'dataObj.data3',
    data4: 'dataObj.data4',
    data5: 'dataObj.data5',
    data6: 'dataObj.data6',
  },
  dataObj2: {
    data1: 'dataObj2.data1',
    data2: 'dataObj2.data2',
    data3: 'dataObj2.data3',
    data4: 'dataObj2.data4',
  },
})
const detailConfig = [
  {
    title: '模块一',
    list: [
      {
        label: '数据一',
        key: 'data1',
      },
      {
        label: '数据二',
        key: 'data2',
      },
      {
        label: '数据三',
        key: 'data3',
        nullText: '尚未录入数据',
      },
      {
        label: '数据四',
        key: 'data4',
      },
      {
        label: '数据五',
        key: 'data5',
        column: '5',
      },
      {
        label: '插槽',
        slotName: 'showButton',
      },
    ],
  },
  {
    title: '模块二',
    list: [
      {
        label: '数据对象一',
        key: 'dataObj.data1',
      },
      {
        label: '数据对象二',
        key: 'dataObj.data2',
      },
      {
        label: '数据对象三',
        key: 'dataObj.data3',
      },
      {
        label: '数据对象四',
        key: 'dataObj.data4',
      },
      {
        label: '数据对象五',
        key: 'dataObj.data5',
      },
      {
        label: '数据对象六',
        key: 'dataObj.data6',
      },
      {
        nullText: '',
      },
      {},
    ],
  },
  {
    moduleKey: 'dataObj2',
    list: [
      {
        label: '数据对象一',
        key: 'data1',
      },
      {
        label: '数据对象二',
        key: 'data2',
      },
      {
        label: '数据对象三',
        key: 'data3',
      },
      {
        label: '数据对象四',
        key: 'data4',
      },
    ],
  },
]
</script>

config-title

模块标题,配置后将作为标题在左上角进行显示,如果没有配置将会隐藏
在这里插入图片描述
在这里插入图片描述

<template>
  <div style="margin: 10% 20%">
    <DetailsModule :config="detailConfig" :data="detailData" />
  </div>
</template>
<script setup>
import { ref } from 'vue'
const detailData = ref({
  data1: '数据1',
  data2: '数据2',
  data3: '数据3',
  data4: '数据4',
})
const detailConfig = [
  {
    title: '模块一',
    list: [
      {
        label: '数据一',
        key: 'data1',
      },
      {
        label: '数据二',
        key: 'data2',
      },
      {
        label: '数据三',
        key: 'data3',
      },
      {
        label: '数据四',
        key: 'data4',
      },
    ],
  },
  {
    title: '模块二',
    list: [
      {
        label: '数据一',
        key: 'data1',
      },
      {
        label: '数据二',
        key: 'data2',
      },
      {
        label: '数据三',
        key: 'data3',
      },
      {
        label: '数据四',
        key: 'data4',
      },
    ],
  },
  {
    list: [
      {
        label: '数据一',
        key: 'data1',
      },
      {
        label: '数据二',
        key: 'data2',
      },
      {
        label: '数据三',
        key: 'data3',
      },
      {
        label: '数据四',
        key: 'data4',
      },
    ],
  },
]
</script>

config-moduleKey

在一些情景下,详情数据的每个模块分别从不同的对象集合内取值,可以通过moduleKey配置模块公共key值

在这里插入图片描述
在这里插入图片描述

<template>
  <div style="margin: 10% 20%">
    <DetailsModule :config="detailConfig" :data="detailData" />
  </div>
</template>
<script setup>
import { ref } from 'vue'
const detailData = ref({
  dataObj1: {
    data1: '集合1数据1',
    data2: '集合1数据2',
    data3: '集合1数据3',
    data4: '集合1数据4',
  },
  dataObj2: {
    data1: '集合2数据1',
    data2: '集合2数据2',
    data3: '集合2数据3',
    data4: '集合2数据4',
  },
})
const detailConfig = [
  {
    title: '模块一',
    moduleKey: 'dataObj1',
    list: [
      {
        label: '数据一',
        key: 'data1',
      },
      {
        label: '数据二',
        key: 'data2',
      },
      {
        label: '数据三',
        key: 'data3',
      },
      {
        label: '数据四',
        key: 'data4',
      },
    ],
  },
  {
    title: '模块二',
    list: [
      {
        label: '数据一',
        key: 'dataObj2.data1',
      },
      {
        label: '数据二',
        key: 'dataObj2.data2',
      },
      {
        label: '数据三',
        key: 'dataObj2.data3',
      },
      {
        label: '数据四',
        key: 'dataObj2.data4',
      },
    ],
  },
]
</script>

config-list

config-list-slotName

当详情内并非显示数据时,可配置slotName来使用插槽,插槽名即为slotName配置的名称
在这里插入图片描述
在这里插入图片描述

<template>
  <div style="margin: 10% 20%">
    <DetailsModule :config="detailConfig" :data="detailData">
      <template #showButton>
        <el-button type="primary" link> 查看 </el-button>
      </template>
    </DetailsModule>
  </div>
</template>
<script setup>
import { ref } from 'vue'
const detailData = ref({
  data1: '数据1',
  data2: '数据2',
  data3: '数据3',
  data4: '数据4',
})
const detailConfig = [
  {
    title: '模块一',
    list: [
      {
        label: '数据一',
        key: 'data1',
      },
      {
        label: '数据二',
        key: 'data2',
      },
      {
        label: '数据三',
        key: 'data3',
      },
      {
        label: '数据四',
        slotName: 'showButton',
      },
    ],
  },
]
</script>

config-list-column

当需要跨多行显示内容槽时,可通过column配置
在这里插入图片描述
在这里插入图片描述

<template>
  <div style="margin: 10% 20%">
    <DetailsModule :config="detailConfig" :data="detailData" />
  </div>
</template>
<script setup>
import { ref } from 'vue'
const detailData = ref({
  data1: '数据1',
  data2: '数据2',
  data3: '数据3',
  data4: '数据4',
  data5: '数据5是一个超长文本',
})
const detailConfig = [
  {
    title: '模块一',
    list: [
      {
        label: '数据一',
        key: 'data1',
      },
      {
        label: '数据二',
        key: 'data2',
      },
      {
        label: '数据三',
        key: 'data3',
      },
      {
        label: '数据四',
        key: 'data4',
      },
      {
        label: '数据四',
        key: 'data5',
        column: 5,
      },
      {},
    ],
  },
]
</script>

nullText

nullText分别在组件级别、模块级别、字段级别可配置,优先级为越细化越优先,即字段级别>模块级别>组件级别

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<template>
  <div style="margin: 10% 20%">
    <DetailsModule
      :config="detailConfig"
      :data="detailData"
      nullText="组件级占位"
    />
  </div>
</template>
<script setup>
import { ref } from 'vue'
const detailData = ref({
  data1: '数据1',
  data2: '',
})
const detailConfig = [
  {
    title: '模块一',
    list: [
      {
        label: '数据一',
        key: 'data1',
      },
      {
        label: '数据二',
        key: 'data2',
      },
      {
        label: '数据三',
        key: 'data3',
      },
      {
        label: '数据四',
        key: 'data4',
      },
    ],
  },
  {
    title: '模块二',
    nullText: '模块级占位',
    list: [
      {
        label: '数据一',
        key: 'data1',
      },
      {
        label: '数据二',
        key: 'data2',
      },
      {
        label: '数据三',
        key: 'data3',
        nullText: '字段级占位',
      },
      {
        label: '数据四',
        key: 'data4',
        nullText: '',
      },
    ],
  },
]
</script>

标签:data1,DetailsModule,adminPage,label,v1.2,key,数据,data3,data2
From: https://blog.csdn.net/weixin_44599143/article/details/142916456

相关文章

  • STranslate(翻译、OCR工具) v1.2.5.927 绿色版
    ​ STranslate(翻译、OCR工具)v1.2.5.927绿色版下载地址:https://pan.quark.cn/s/1198dc1529f9介绍STranslate是一款为Windows用户设计的免费开源的翻译和OCR(光学字符识别)工具。它提供了一种高效且直观的方式来翻译和识别屏幕上的文字。该软件以「即开即用、即用即......
  • k8s离线部署v1.28.0版本(基于docker容器)
    1.环境配置主机名配置磁盘大小操作系统ip地址k8s-master2c4g50gcentos7.6192.168.100.194k8s-node12c4g50gcentos7.6192.168.100.195k8s-node22c4g50gcentos7.6192.168.100.196yum2c4g50gcentos7.6192.168.100.2012.必要环境准备1)关......
  • 教育培训系统V1.2.3
    为继续教育、企业培训、考试学习等场景提供一站式学习资料平台,支持课程购买、VIP会员等方式进行在线付费学习。提供前后台无加密源代码,支持私有化部署。V1.2.3修复已知问题修改视频文件和音频文件播放问题......
  • 场馆预定系统V1.2.5
    多场馆场地预定小程序,提供运动场馆运营解决方案,适用于体育馆、羽毛球馆、兵乒球馆、篮球馆、网球馆等场馆V1.2.5优化已知问题1、修改意见反馈上传图片后台不显示2、优化报名列表3、优化已知问题......
  • 酷柚易汛生产管理系统​V1.2.3
    生产管理系统,帮助企业数字化转型,打造智能工厂,企业量身开发的一套完整的生产管理系统。主要包含以下模块:购货模块、生产模块、仓库模块、资料模块,可配合酷柚易汛进销存无缝衔接使用。提供全部无加密服务端和前端源代码,支持私有化部署。V1.2.31、修复付款单无法新增预付款......
  • 【工具推荐】0x7eTeamTools v1.2(最新版) -全能的渗透测试工具,一键getshell
    工具介绍:0x7eTeamTools是一个集成了多种渗透测试功能,javafx练习,JS接口提取,漏洞检测的工具,旨在帮助用户进行高效、全面的网络安全测试。从基本的编码转换到复杂的空间测绘和漏洞检测,这款工具提供了全方位的功能支持。下载链接:链接:https://pan.quark.cn/s/8c4268ee6b79软......
  • 场馆预定系统V1.2.2
    多场馆场地预定小程序,提供运动场馆运营解决方案,适用于体育馆、羽毛球馆、兵乒球馆、篮球馆、网球馆等场馆V1.2.2修复已知bug场馆预定系统......
  • 教育培训系统V1.2.2
    为继续教育、企业培训、考试学习等场景提供一站式学习资料平台,支持课程购买、VIP会员等方式进行在线付费学习。提供前后台无加密源代码,支持私有化部署。V1.2.2修复已知问题修复已知问题......
  • Kubernetes v1.28.2 & Calico eBPF
    集群初始化简略步骤初始化集群kubeadminit\--skip-phases=addon/kube-proxy\--apiserver-cert-extra-sans=35.229.220.159,127.0.0.1,10.0.0.3,10.0.0.4,10.0.0.5,10.254.0.2\--control-plane-endpoint=apiserver.unlimit.club\--apiserver-advertis......
  • Kubernetes-二进制高可用部署v1.23.x
    目录高可用架构k8s集群组件ectdkube-apiserverkube-schedulerkube-controller-managerkubeletkube-proxykubectl高可用分析负载均衡节点设计1.环境准备1.1环境规划1.2所有节点配置host解析1.3安装必备工具1.4所有节点关闭防火墙、selinux、dnsmasq、swap1.5Master01节点免密......