暖心人
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.2 KiB

<script setup>
import {computed} from "vue";
const props = defineProps({
text:{
type:String,
default:''
},
align:{
type:String,
default:'left'
},
size:{
type:[String,Number],
default:'16px'
},
bold:{
type:[String,Number],
default:'normal'
},
color:{
type:String,
default:'#000000'
},
lineHeight:{
type:[String,Number],
default:'16px'
},
display:{
type:String,
default:'block'
},
lines:{
type:Number,
},
customStyle:{
type:[String,Object],
default:{}
}
})
const textStyle = computed(() => {
return {
...uni.$m.addStyle(props.customStyle),
'text-align':props.align,
'font-size':props.size,
'font-weight':props.bold,
'line-height':props.lineHeight,
'color':props.color,
'display':props.display,
}
})
const emit = defineEmits(['click'])
function handleClick(e){
emit('click',e);
}
</script>
<template>
<view class="m-text-container" :class="[lines && `u-line-${lines}`]" :style="textStyle" @click="handleClick">
{{text}}
</view>
</template>
<style scoped lang="scss">
</style>