123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <template>
- <view class="tn-table-class tn-table" :class="[tableClass]" :style="[tableStyle]">
- <slot></slot>
- </view>
- </template>
- <script>
- export default {
- name: 'tn-table',
- props: {
- // 边框宽度
- borderWidth: {
- type: [String, Number],
- default: ''
- },
- // 边框颜色
- borderColor: {
- type: String,
- default: ''
- },
- // 显示上边框
- borderTop: {
- type: Boolean,
- default: true
- },
- // 显示右边框
- borderRight: {
- type: Boolean,
- default: false
- },
- // 显示下边框
- borderBottom: {
- type: Boolean,
- default: false
- },
- // 显示左边框
- borderLeft: {
- type: Boolean,
- default: true
- }
- },
- computed: {
- parentData() {
- return [this.borderWidth, this.borderColor]
- },
- tableClass() {
- let clazz = ''
- return clazz
- },
- tableStyle() {
- let style = {}
- if (this.borderWidth !== '') {
- style.borderWidth = this.$t.string.getLengthUnitValue(this.borderWidth)
- }
- if (this.borderColor) {
- style.borderColor = this.borderColor
- }
- if (this.borderLeft) {
- style.borderLeftStyle = 'solid'
- }
- if (this.borderRight) {
- style.borderRightStyle = 'solid'
- }
- if (this.borderTop) {
- style.borderTopStyle = 'solid'
- }
- if (this.borderBottom) {
- style.borderBottomStyle = 'solid'
- }
- return style
- }
- },
- data() {
- return {}
- },
- created() {
- this.children = []
- },
- watch: {
- parentData() {
- // 更新子组件的数据
- if (this.children.length) {
- this.children.map((child) => {
- typeof(child.updateParentData) === 'function' && child.updateParentData()
- })
- }
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- .tn-table {
- box-sizing: border-box;
-
- border-width: 1rpx;
- border-style: none;
- border-color: #AAAAAA;
- }
- </style>
|