<template>
<view class="margin editor-content" :style="[setStyle]">
<rich-text :nodes="text" preview></rich-text>
</view>
</template>
<script lang="ts" setup>
import { ref, computed, onMounted } from 'vue';
import {isArray, isObject} from "@/common/is";
// 定义 props
const props = defineProps({
id: {
type: String,
default: "",
required: false
},
config: {
type: Object,
default: () => {},
required: false
},
horizontal: {
type: Boolean,
default: false
}
});
// 定义响应式数据
const text = ref("");
// 计算属性
const setStyle = computed(() => {
return {
maxHeight: `100vh`
};
});
// 生命周期钩子
onMounted(() => {
queryData();
});
// 方法
const queryData = () => {
// 静态数据
let chartData = props.config?.chartData;
initOption(chartData);
};
const initOption = (chartData) => {
if (isArray(chartData)) {
text.value = chartData[0].value;
} else if (isObject(chartData)) {
text.value = chartData.value;
} else {
text.value = chartData;
}
};
</script>
<style>
.editor-content {
max-height: 600rpx;
overflow: auto;
}
</style>