对于代码的优雅来说,可能每个人的看法是不一样的,但是对我来说,简洁,易懂,容易维护,就够了。
接下来这段代码是封装组件时用到的,主要是当时的详情弹窗要弹得东西太多了。
这只是一个思路,一种启发。
能够做到思路打开是最好的,不要局限在这一种方法里,大家有更好的思路,欢迎讨论。
<template> <el-descriptions title="郭冀鑫" :column="3" border > <!-- 此处 detailDict 是我写的字典 --> <el-descriptions-item v-for="item in detailDict" :key="item.key" :label="item.label" > <!-- 此处 detailList 后端返回的数据 --> {{ detailList[item.key] }} </el-descriptions-item> </el-descriptions></template>
export default { data() { return { // 自己定义的字典,通过v-for把描述列表循环出来 // lable是这个列表描述列表要显示的lable // key是后端返回的数据中的字段 detailDict: [ { label: '姓名', key: 'name'}, { label: '性别', key: 'sex' }, { label: '出生年月', key: 'birthday'}, { label: '民族', key: 'nation'}, { label: '籍贯', key: 'nativeplace'}, { label: '出生地', key: 'birthplace'}, { label: '入党时间', key: 'timeOfJoinTheCommunistParty'}, { label: '参加工作时间', key: 'timeOfWorkStart' }, { label: '健康状况', key: 'healthyStatus' }, { label: '专业技术职务', key: 'professionalSkillPosition'}, { label: '熟悉专业有何专长',key: 'speciality'}, { label: '现任职时间',key: 'timeInJob'}, { label: '任同级职务时间', key: 'timeInSameLevelJob'}, { label: '任同级职务时间', key: 'timeInSameLevelJob' }, { label: '全日制教育学历', key: 'fullTimeEducation'}, { label: '全日制教育学位', key: 'fullTimeEducationXuewei'}, { label: '全日制教育毕业院校', key: 'fullTimeProfessionAndSchool'}, { label: '全日制教育专业', key: 'fullTimeProfessionAndSchoolXuewei'}, { label: '在职制教育学历', key: 'inServiceEducation'}, { label: '在职制教育学位', key: 'inServiceEducationXuewei' }, { label: '在职制教育毕业院校', key: 'inServiceProfessionAndSchool'}, { label: '在职制教育专业', key: 'inServiceProfessionAndSchoolXuewei'}, { label: '现任职务', key: 'presentDuty' }, { label: '拟任职务', key: 'toProposedDuty' }, { label: '拟免职务', key: 'toAvoidDuty'}, { label: '简历', key: 'resume'}, { label: '奖惩情况', key: 'rewardsAndPunishment' }, { label: '年度考核结果', key: 'annualAssessmentResult' }, { label: '任免理由', key: 'reasonOfAppointAndDismiss' } ] } }}</script>