Skip to content

高级表单

组件概述

DetailsDescriptions 是一个用于配置详情描述的 Vue 3 组件,支持动态详情描述生成。适用于需要快速构建复杂详情描述的场景。

组件路径 src/components/advanced/details-descriptions/details-descriptions.vue

主要功能:

  • 支持动态生成详情描述。
  • 支持详情项自定义render函数。
  • 响应式布局

组件使用方式

以下是一个简单的示例,展示如何使用 DetailsDescriptions 组件。

vue
<template>
  <div>
     <DetailsDescriptions
      v-model:visible="modelVisible"
      title="详情"
      width="60%"
      :fields="detailColumns"
      :data="detailData"
    />
  </div>
</template>

<script>
import DetailsDescriptions from '@/components/advanced/details-descriptions/details-descriptions.vue';

const modelVisible = ref(false); 

const detailData = ref({
  username: '1111',
  status: 1
});

const detailColumns = useDetailDescriptions<any>(() => [
  {
    key: 'username',
    label: $t('page.manage.user.username')
  },
  {
    key: 'status',
    label: $t('common.status'),
    render: row => {
      return (
        <NTag>
          {row.status === 1 ? $t('common.enable') : $t('common.disable')}
        </NTag>
      );
    }
  },
]);

</script>

DetailsDescriptions Props

属性名类型必填默认值描述
dataobject详情数据对象
fieldsDetailsDescriptionsType详情项配置,动态生成详情项
widthnumber/stringNaive UI 预设弹窗的宽度
titlenumber/string'详情'弹窗的标题
columnnumber2详情分为几列 参考 Naive Ui NDescriptions 组件

其他属性和 NDescriptions 一致。

fields Props

属性名类型必填默认值描述
keystring表单字段 key
labelstring表单字段 label
hideboolean/functionfalse是否隐藏
renderfunction自定义render函数
valueany表单字段值

注意

具体使用方式可以参考具体项目内的使用方法

Publish under the MIT license