26 lines
512 B
Vue
26 lines
512 B
Vue
<script setup lang="ts">
|
|||
|
|
withDefaults(defineProps<{
|
||
|
|
value?: string | number | null
|
||
|
|
emptyText?: string
|
||
|
|
}>(), {
|
||
|
|
value: null,
|
||
|
|
emptyText: '—',
|
||
|
|
})
|
||
|
|
</script>
|
||
|
|
|
||
|
|
<template>
|
||
|
|
<span class="single-line-text" :title="value == null || value === '' ? undefined : String(value)">
|
||
|
|
{{ value == null || value === '' ? emptyText : value }}
|
||
|
|
</span>
|
||
|
|
</template>
|
||
|
|
|
||
|
|
<style scoped>
|
||
|
|
.single-line-text {
|
||
|
|
display: block;
|
||
|
|
max-width: 220px;
|
||
|
|
overflow: hidden;
|
||
|
|
text-overflow: ellipsis;
|
||
|
|
white-space: nowrap;
|
||
|
|
}
|
||
|
|
</style>
|