CNCEC_APP/uni_modules/uview-pro/components/u-table/u-table.vue

68 lines
2.0 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="u-table" :style="$u.toStyle(tableStyle, customStyle)" :class="customClass">
<slot />
</view>
</template>
<script lang="ts">
export default {
name: 'u-table',
options: {
addGlobalClass: true,
// #ifndef MP-TOUTIAO
virtualHost: true,
// #endif
styleIsolation: 'shared'
}
};
</script>
<script setup lang="ts">
import { computed } from 'vue';
import { TableProps } from './types';
import { $u } from '../..';
/**
* table 表格
* @description 表格组件一般用于展示大量结构化数据的场景
* @tutorial https://uviewpro.cn/zh/components/table.html
* @property {String} border-color 表格边框的颜色默认var(--u-border-color)
* @property {String} bg-color 表格的背景颜色默认var(--u-bg-white)
* @property {String} align 单元格的内容对齐方式作用类似css的text-align默认center
* @property {String} padding 单元格的内边距同css的padding写法默认10rpx 0
* @property {String | Number} font-size 单元格字体大小单位rpx默认28
* @property {String} color 单元格字体颜色默认var(--u-content-color)
* @property {Object} th-style th单元格的样式对象形式(将th所需参数放在table组件是为了避免每一个th组件要写一遍
* @event {Function} click 点击组件时触发
* @event {Function} close 点击关闭按钮时触发
* @example <u-table></u-table>
*/
const props = defineProps(TableProps);
/**
* 计算表格样式
*/
const tableStyle = computed(() => {
const style: Record<string, any> = {};
style.borderLeft = `solid 1px ${props.borderColor}`;
style.borderTop = `solid 1px ${props.borderColor}`;
style.backgroundColor = props.bgColor;
return style;
});
defineExpose({
props,
tableStyle
});
</script>
<style lang="scss" scoped>
@import '../../libs/css/style.components.scss';
.u-table {
width: 100%;
box-sizing: border-box;
}
</style>