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 (