排名
1
文章
860
粉丝
112
评论
163
.net core自定义项目模板,创建自己的模板项目,使用命令行创建模板项目
尘叶心繁 : 可以可以讲真的我都想弄个模板
net core webapi post传递参数
庸人 :
确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
.net webapi 返回需要的字段,忽略某些字段,修改字段名等
雨雨雨雨雨辰 : 已精
.net webapi 返回需要的字段,忽略某些字段,修改字段名等
雨雨雨雨雨辰 :
疯狂反射
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术

看到设计图上有一个类似的表格需要重复使用,就封装一个简单的表格组件,方便重复使用,很简单就是做数据展示,不进行编辑这。数据通过外面传递过去,然后里边循环生成行和列就行,然后加点样式,就是因为类似的样式要重复使用。
效果如下:
封装组件
代码很简单,表头想着通用一点就做了一个插槽,让外面传递过来,当然也可以做成传递数据在组件里边生成。然后行列的数据就是传递一串json,过来做一个双循环解析一下数据即可。
行的显示风格做成了组件的参数,居中或者左对齐等,可以根据需要多写几套样式,通过参数传递过来决定显示方式。表头的显示方式也写了两个样式,居中或者左对齐。代码如下,很简单。
<template>
<div >
<table class="zuxia_table">
<!-- <tr class="zuxia_table_header">
<th>姓名</th>
<th>班级</th>
<th>事件</th>
<th>时间</th>
</tr> -->
<!-- 表头也可以做成插槽,方便表头在引用组件的时候自定义 -->
<slot name="zuxia_table_header"></slot>
<!-- 根据传递过来的json直接循环获取数据显示 -->
<tr v-for="(item, index) in rowdata" :key="index" class="content_tr" :class="row_style">
<td v-for="(tditem,zindex) in item" :key="zindex">{{tditem}}</td>
</tr>
</table>
</div>
</template>
<script>
export default {
// 组件名字
name: 'ZuxiaTable',
// 组件参数
props: {
percentage: {
type: Number,
default: 0
},
title: {
type: String,
default: '默认标题'
},
// 行的显示风格,居中或者左对齐等,可以根据需要多写几套样式
row_style: {
type: String,
default: 'content_tr_center'
},
rowdata: {
type: Array,
default: () => {
return []
},
// required: true
}
},
data() {
return {
// tr_type:"content_tr_center"
}
},
components: {
},
mounted() {
},
beforeDestroy () {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.zuxia_table{
margin-top: 20px;
width: 100%;
border-collapse: collapse;
.zuxia_table_header{
background-color: rgba(13, 81, 137, 0.5);
// opacity: 0.5;
th{
height: 13px;
font-size: 14px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #23FFFC;
line-height: 33px;
padding-left: 10px;
}
}
// 提供一个左对齐的样式,引用组件的时候可以直接用
.zuxia_table_header_left
{
text-align: left;
}
.content_tr{
height: 41px;
// background: #082044;
background-color: rgba(8, 32, 68, 0.4);
td{
font-size: 12px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #FFFFFF;
line-height: 33px;
// padding-left: 10px;
}
}
//----------- start 行风格-左对齐 --------------
.content_tr_left{
td{
padding-left: 10px;
}
}
.content_tr_left>td:first-child{
padding-left: 15px;
}
//----------- end 行风格-左对齐 --------------
//----------- start 行风格-居中 --------------
.content_tr_center{
td{
text-align: center;
}
}
.content_tr_center>td:first-child{
padding-left: 15px;
// text-align: left;
}
//----------- end 行风格-居中 --------------
}
</style>
使用组件
先引用一下组件,以及提供一下测试的json数据
import ZuxiaGrid from '@/views/component/zuxia_grid.vue'
import ZuxiaTable from '@/views/component/zuxia_table.vue'
export default {
components: {
ZuxiaGrid,
ZuxiaTable
},
data() {
return {
rowdata:[
{
name:"2022级计算机1班",
class:"yy1",
content:"xx",
datetiem:'8-12 09:33:52',
pro:"40%",
zh:"50%",
sort:"1"
},
{
name:"2022级计算机1班",
class:"yy2",
content:"xx",
datetiem:'8-15 09:33:52',
pro:"40%",
zh:"50%",
sort:"3"
},
{
name:"2022级计算机1班",
class:"yy3",
content:"xx",
datetiem:'8-13 09:33:52',
pro:"40%",
zh:"50%",
sort:"2"
},
{
name:"2022级计算机1班",
class:"yy2",
content:"xx",
datetiem:'8-15 09:33:52',
pro:"40%",
zh:"50%",
sort:"3"
},
{
name:"2022级计算机1班",
class:"yy2",
content:"xx",
datetiem:'8-15 09:33:52',
pro:"40%",
zh:"60%",
sort:"6"
},
],
newrowdata:[
{
name:"张三丰",
class:"2022级计算机1班",
content:"通过什么什么什么什么什么评估",
datetiem:'8-15 09:33:52',
},
{
name:"张三丰",
class:"2022级计算机1班",
content:"通过什么什么什么什么什么评估",
datetiem:'8-15 09:33:52',
},
{
name:"张三丰",
class:"2022级计算机1班",
content:"通过什么什么什么什么什么评估",
datetiem:'8-15 09:33:52',
},
{
name:"张三丰",
class:"2022级计算机1班",
content:"通过什么什么什么什么什么评估",
datetiem:'8-15 09:33:52',
},
{
name:"张三丰",
class:"2022级计算机1班",
content:"通过什么什么什么什么什么评估",
datetiem:'8-15 09:33:52',
}
]
},
使用组件
<div class="bc_left_com">
<ZuxiaGrid style="height:100%">
<template #content>
<ZuxiaTable row_style="content_tr_left" :rowdata="rowdata">
<template #zuxia_table_header>
<tr class="zuxia_table_header zuxia_table_header_left">
<th>班级名称</th>
<th>班主任</th>
<th>评估</th>
<th>实验</th>
<th>项目</th>
<th>综合</th>
<th>排名</th>
</tr>
</template>
</ZuxiaTable>
</template>
</ZuxiaGrid>
</div>
<div class="bc_middle_com">
<ZuxiaGrid title="最新使用记录" style="height:100%">
<template #content>
<ZuxiaTable row_style="content_tr_center" :rowdata="newrowdata">
<template #zuxia_table_header>
<tr class="zuxia_table_header">
<th>姓名</th>
<th>班级</th>
<th>事件</th>
<th>时间</th>
</tr>
</template>
</ZuxiaTable>
</template>
</ZuxiaGrid>
</div>
效果如下:左边的表格表头与数据都是左对齐的,右边的表格表头与数据是居中的,如果需要其他风格的可以多提供几套样式,通过参数传递进去就行了。表头是通过插槽放进去的,不同的风格可以在外面写更简单
外面那块高亮格子的组件封装可以参考:https://www.tnblog.net/aojiancc2/article/details/7826
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)
评价