mirror of
https://github.com/element-plus/element-plus.git
synced 2025-08-14 10:00:58 +08:00

* perf: change to import-x * feat: add rules * chore: fix rule * chore: fix * chore: fix * chore: fix * style: `pnpm lint:fix` * Revert "style: `pnpm lint:fix`" This reverts commit db0116a288299c507e3cfc4d7a22e2207265d920. * Revert "chore: fix" This reverts commit 69c82a90c01525e38180be4c21e8ef5602512318. * chore: fix * style: `pnpm lint:fix` * fix: lint * chore: `pnpm format`
145 lines
3.3 KiB
Vue
145 lines
3.3 KiB
Vue
<template>
|
|
<el-radio-group v-model="size">
|
|
<el-radio value="large">Large</el-radio>
|
|
<el-radio value="default">Default</el-radio>
|
|
<el-radio value="small">Small</el-radio>
|
|
</el-radio-group>
|
|
|
|
<el-descriptions
|
|
class="margin-top"
|
|
title="With border"
|
|
:column="3"
|
|
:size="size"
|
|
border
|
|
>
|
|
<template #extra>
|
|
<el-button type="primary">Operation</el-button>
|
|
</template>
|
|
<el-descriptions-item>
|
|
<template #label>
|
|
<div class="cell-item">
|
|
<el-icon :style="iconStyle">
|
|
<user />
|
|
</el-icon>
|
|
Username
|
|
</div>
|
|
</template>
|
|
kooriookami
|
|
</el-descriptions-item>
|
|
<el-descriptions-item>
|
|
<template #label>
|
|
<div class="cell-item">
|
|
<el-icon :style="iconStyle">
|
|
<iphone />
|
|
</el-icon>
|
|
Telephone
|
|
</div>
|
|
</template>
|
|
18100000000
|
|
</el-descriptions-item>
|
|
<el-descriptions-item>
|
|
<template #label>
|
|
<div class="cell-item">
|
|
<el-icon :style="iconStyle">
|
|
<location />
|
|
</el-icon>
|
|
Place
|
|
</div>
|
|
</template>
|
|
Suzhou
|
|
</el-descriptions-item>
|
|
<el-descriptions-item>
|
|
<template #label>
|
|
<div class="cell-item">
|
|
<el-icon :style="iconStyle">
|
|
<tickets />
|
|
</el-icon>
|
|
Remarks
|
|
</div>
|
|
</template>
|
|
<el-tag size="small">School</el-tag>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item>
|
|
<template #label>
|
|
<div class="cell-item">
|
|
<el-icon :style="iconStyle">
|
|
<office-building />
|
|
</el-icon>
|
|
Address
|
|
</div>
|
|
</template>
|
|
No.1188, Wuzhong Avenue, Wuzhong District, Suzhou, Jiangsu Province
|
|
</el-descriptions-item>
|
|
</el-descriptions>
|
|
|
|
<el-descriptions
|
|
class="margin-top"
|
|
title="Without border"
|
|
:column="3"
|
|
:size="size"
|
|
:style="blockMargin"
|
|
>
|
|
<template #extra>
|
|
<el-button type="primary">Operation</el-button>
|
|
</template>
|
|
<el-descriptions-item label="Username">kooriookami</el-descriptions-item>
|
|
<el-descriptions-item label="Telephone">18100000000</el-descriptions-item>
|
|
<el-descriptions-item label="Place">Suzhou</el-descriptions-item>
|
|
<el-descriptions-item label="Remarks">
|
|
<el-tag size="small">School</el-tag>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="Address">
|
|
No.1188, Wuzhong Avenue, Wuzhong District, Suzhou, Jiangsu Province
|
|
</el-descriptions-item>
|
|
</el-descriptions>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import { computed, ref } from 'vue'
|
|
import {
|
|
Iphone,
|
|
Location,
|
|
OfficeBuilding,
|
|
Tickets,
|
|
User,
|
|
} from '@element-plus/icons-vue'
|
|
|
|
import type { ComponentSize } from 'element-plus'
|
|
|
|
const size = ref<ComponentSize>('default')
|
|
|
|
const iconStyle = computed(() => {
|
|
const marginMap = {
|
|
large: '8px',
|
|
default: '6px',
|
|
small: '4px',
|
|
}
|
|
return {
|
|
marginRight: marginMap[size.value] || marginMap.default,
|
|
}
|
|
})
|
|
const blockMargin = computed(() => {
|
|
const marginMap = {
|
|
large: '32px',
|
|
default: '28px',
|
|
small: '24px',
|
|
}
|
|
return {
|
|
marginTop: marginMap[size.value] || marginMap.default,
|
|
}
|
|
})
|
|
</script>
|
|
|
|
<style scoped>
|
|
.el-descriptions {
|
|
margin-top: 20px;
|
|
}
|
|
.cell-item {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.margin-top {
|
|
margin-top: 20px;
|
|
}
|
|
</style>
|