From 01d2a8182a2766b9b87e6c629fc137b1d55e1bde Mon Sep 17 00:00:00 2001 From: wangyupei <2311595895@qq.com> Date: Sat, 26 Mar 2022 11:53:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(Table):=20=E4=BD=BF=E7=94=A8Rem=E8=A7=84?= =?UTF-8?q?=E8=8C=83=E4=BF=AE=E6=94=B9Table=E7=BB=84=E4=BB=B6=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../devui/table/src/components/body/body.scss | 48 +++++++------- .../devui/table/src/components/body/body.tsx | 11 ++-- .../devui/table/src/components/fix-header.tsx | 15 +++-- .../table/src/components/header/header.scss | 66 ++++++++++--------- .../table/src/components/header/header.tsx | 16 ++--- .../devui/table/src/composable/use-table.ts | 15 +++-- packages/devui-vue/devui/table/src/table.scss | 42 ++++++------ packages/devui-vue/devui/table/src/table.tsx | 6 +- .../devui-vue/docs/components/table/index.md | 2 +- 9 files changed, 117 insertions(+), 104 deletions(-) diff --git a/packages/devui-vue/devui/table/src/components/body/body.scss b/packages/devui-vue/devui/table/src/components/body/body.scss index 22adac91ad..b11c2bb875 100644 --- a/packages/devui-vue/devui/table/src/components/body/body.scss +++ b/packages/devui-vue/devui/table/src/components/body/body.scss @@ -1,34 +1,38 @@ @import '../../../../styles-var/devui-var.scss'; -.devui-tbody { - tr { - font-size: $devui-font-size-card-title; - color: $devui-text; - border: none; - border-bottom: 1px solid $devui-dividing-line; - background-color: $devui-base-bg; +.devui-table { + &__tbody { + tr { + font-size: $devui-font-size-card-title; + color: $devui-text; + border: none; + border-bottom: 1px solid $devui-dividing-line; + background-color: $devui-base-bg; - &.hover-enabled:hover { - background-color: $devui-list-item-hover-bg; - } + &.hover-enabled:hover { + background-color: $devui-list-item-hover-bg; + } - td { - padding: 10px; - border: none; + td { + padding: 10px; + border: none; + } } } } -.devui-sticky-cell { - position: sticky; - z-index: 5; - background-color: inherit; +.devui-table { + &--sticky-cell { + position: sticky; + z-index: 5; + background-color: inherit; - &.left { - box-shadow: rgba(0, 0, 0, 0.05) $devui-shadow-length-slide-right; - } + &.left { + box-shadow: rgba(0, 0, 0, 0.05) $devui-shadow-length-slide-right; + } - &.right { - box-shadow: rgba(0, 0, 0, 0.05) $devui-shadow-length-slide-left; + &.right { + box-shadow: rgba(0, 0, 0, 0.05) $devui-shadow-length-slide-left; + } } } diff --git a/packages/devui-vue/devui/table/src/components/body/body.tsx b/packages/devui-vue/devui/table/src/components/body/body.tsx index af6349e5a8..3780f6e548 100644 --- a/packages/devui-vue/devui/table/src/components/body/body.tsx +++ b/packages/devui-vue/devui/table/src/components/body/body.tsx @@ -1,16 +1,17 @@ import { defineComponent, inject, computed, PropType, toRef } from 'vue'; import { TABLE_TOKEN } from '../../table-types'; -import { Checkbox } from '../../../../checkbox'; - -import './body.scss'; import { Column } from '../column/column-types'; +import { Checkbox } from '../../../../checkbox'; import { useFixedColumn } from '../../composable/use-table'; +import { useNamespace } from '../../../../shared/hooks/use-namespace'; +import './body.scss'; export default defineComponent({ name: 'DTableBody', setup() { const table = inject(TABLE_TOKEN); const { _data: data, _columns: columns, _checkList: checkList, isFixedLeft } = table.store.states; + const ns = useNamespace('table'); // 移动到行上是否高亮 const hoverEnabled = computed(() => table.props.rowHoveredHighlight); @@ -19,7 +20,7 @@ export default defineComponent({ const tdAttrs = computed(() => isFixedLeft.value ? { - class: 'devui-sticky-cell left', + class: `${ns.m('sticky-cell')} left`, style: 'left:0;', } : null @@ -32,7 +33,7 @@ export default defineComponent({ ) : null; return () => ( -
+ {data.value.map((row, rowIndex) => { return (