Browse Source

update Web/src/components/table/index.vue.
添加插槽扩展

Signed-off-by: Mr先生 <362270511@qq.com>

Mr先生 2 years ago
parent
commit
57d9e5151c
1 changed files with 9 additions and 2 deletions
  1. 9 2
      Web/src/components/table/index.vue

+ 9 - 2
Web/src/components/table/index.vue

@@ -1,6 +1,6 @@
 <template>
 <template>
 	<div class="table-container">
 	<div class="table-container">
-		<div class="table-header mb15">
+		<div v-if="!hideTool" class="table-header mb15">
 			<div>
 			<div>
 				<slot name="command"></slot>
 				<slot name="command"></slot>
 			</div>
 			</div>
@@ -58,6 +58,9 @@
 			<el-table-column type="selection" :reserve-selection="true" :width="30" v-if="config.isSelection && config.showSelection" />
 			<el-table-column type="selection" :reserve-selection="true" :width="30" v-if="config.isSelection && config.showSelection" />
 			<el-table-column type="index" label="序号" align="center" :width="60" v-if="config.isSerialNo" />
 			<el-table-column type="index" label="序号" align="center" :width="60" v-if="config.isSerialNo" />
 			<el-table-column v-for="(item, index) in setHeader" :key="index" v-bind="item">
 			<el-table-column v-for="(item, index) in setHeader" :key="index" v-bind="item">
+				<template #header v-if="!item.children && $slots[item.prop]">
+					<slot :name="`${item.prop}header`" />
+				</template>
 				<!-- 自定义列插槽,插槽名为columns属性的prop -->
 				<!-- 自定义列插槽,插槽名为columns属性的prop -->
 				<template #default="scope" v-if="!item.children && $slots[item.prop]">
 				<template #default="scope" v-if="!item.children && $slots[item.prop]">
 					<formatter v-if="item.formatter" :fn="item.formatter(scope.row, scope.column, scope.cellValue, scope.index)"> </formatter>
 					<formatter v-if="item.formatter" :fn="item.formatter(scope.row, scope.column, scope.cellValue, scope.index)"> </formatter>
@@ -202,6 +205,10 @@ const state = reactive({
 	checkListIndeterminate: false,
 	checkListIndeterminate: false,
 });
 });
 
 
+const hideTool = computed(() => {
+	return props.config.hideTool ?? false;
+});
+
 const getProperty = (obj, property) => {
 const getProperty = (obj, property) => {
 	const keys = property.split('.');
 	const keys = property.split('.');
 	let value = obj;
 	let value = obj;
@@ -417,7 +424,7 @@ onMounted(() => {
 		state.page.field = props.defaultSort.prop;
 		state.page.field = props.defaultSort.prop;
 		state.page.order = props.defaultSort.order;
 		state.page.order = props.defaultSort.order;
 	}
 	}
-	state.page.pageSize = props.config.pageSize;
+	state.page.pageSize = props.config.pageSize ?? 10;
 	handleList();
 	handleList();
 });
 });