emis-app/components/tpx-text-item/tpx-text-item.vue

73 lines
1.3 KiB
Vue
Raw Normal View History

2024-04-27 03:19:18 +00:00
<template>
2024-04-27 15:19:55 +00:00
<u-row justify="between">
2024-04-27 03:19:18 +00:00
<view>
<template v-if="!$slots.left">
<u-text :text="label" size="28" :bold="true"></u-text>
</template>
<slot name="left"></slot>
</view>
2024-04-27 15:19:55 +00:00
<u-row :custom-style="`min-width: ${rightWidth}rpx;`" justify="end" align="center">
2024-04-27 03:19:18 +00:00
<template v-if="!$slots.right">
<u-text align="right" margin="0 12rpx 0 0" size="26"
:text="title"></u-text>
<u-icon v-if="list" size="26" name="arrow-right" color="#333"></u-icon>
</template>
<slot name="right"></slot>
</u-row>
</u-row>
</template>
<script>
export default {
computed: {
title() {
let title = this.value
2024-05-08 07:27:30 +00:00
let val = this.value
!val && this.list && (title = '请选择');
if(val && this.list) {
if(!Array.isArray() && val.split) {
val = val.split(",")
}
title = this.list.filter(t=> t.val == val || (val.indexOf && val.indexOf(t.val) > -1)).map(t=> t.title).join(",")
2024-04-28 06:17:01 +00:00
}
2024-04-27 03:19:18 +00:00
return title
}
},
props: {
2024-04-27 15:19:55 +00:00
rightWidth:{
default() {
return 400
}
},
2024-04-27 03:19:18 +00:00
label: {
default () {
return ''
}
},
value: {
},
list: {
},
},
data() {
return {
}
},
created() {
},
onHide() {
},
unmounted() {},
methods: {
}
}
</script>
<style scoped lang="scss">
</style>