Vben
2021-04-25 8b2e0f665f15edd211f558bc0526465e07e7bab0
提交 | 用户 | age
9c2f3f 1 <template>
V 2   <EditTableHeaderCell v-if="getIsEdit">
3     {{ getTitle }}
4   </EditTableHeaderCell>
5   <span v-else>{{ getTitle }}</span>
6   <BasicHelp v-if="getHelpMessage" :text="getHelpMessage" :class="`${prefixCls}__help`" />
7 </template>
8 <script lang="ts">
9   import type { PropType } from 'vue';
10   import type { BasicColumn } from '../types/table';
11
12   import { defineComponent, computed } from 'vue';
2c6aa8 13   import BasicHelp from '/@/components/Basic/src/BasicHelp.vue';
V 14   import EditTableHeaderCell from './EditTableHeaderIcon.vue';
391da9 15
9c2f3f 16   import { useDesign } from '/@/hooks/web/useDesign';
V 17   export default defineComponent({
18     name: 'TableHeaderCell',
19     components: {
2c6aa8 20       EditTableHeaderCell,
V 21       BasicHelp,
9c2f3f 22     },
V 23     props: {
24       column: {
25         type: Object as PropType<BasicColumn>,
8b2e0f 26         default: () => ({}),
9c2f3f 27       },
V 28     },
29     setup(props) {
30       const { prefixCls } = useDesign('basic-table-header-cell');
31
391da9 32       const getIsEdit = computed(() => !!props.column?.edit);
V 33       const getTitle = computed(() => props.column?.customTitle);
34       const getHelpMessage = computed(() => props.column?.helpMessage);
9c2f3f 35
V 36       return { prefixCls, getIsEdit, getTitle, getHelpMessage };
37     },
38   });
39 </script>
40 <style lang="less">
41   @prefix-cls: ~'@{namespace}-basic-table-header-cell';
42
43   .@{prefix-cls} {
44     &__help {
45       margin-left: 8px;
46       color: rgba(0, 0, 0, 0.65) !important;
47     }
48   }
49 </style>