♻️ 复用方法提出来,暂时砍掉数值渲染

This commit is contained in:
BTMuli
2023-12-19 21:07:28 +08:00
parent bc50acb813
commit 7a36ab6665
6 changed files with 62 additions and 38 deletions

View File

@@ -19,33 +19,20 @@
</template>
<template #desc>
<!-- eslint-disable-next-line vue/no-v-html -->
<span v-html="parseDesc(props.modelValue.description)"></span>
<span v-html="parseHtmlText(props.modelValue.description)"></span>
</template>
</TucDetailDesc>
</template>
<script lang="ts" setup>
import TucDetailConstellation from "./tuc-detail-constellation.vue";
import TucDetailDesc from "./tuc-detail-desc.vue";
import { parseHtmlText } from "../../utils/toolFunc";
interface TucDetailDescConstellationProps {
modelValue: TGApp.Sqlite.Character.RoleConstellation;
}
const props = defineProps<TucDetailDescConstellationProps>();
// 解析描述
function parseDesc(desc: string): string {
const reg = /<color=(.*?)>(.*?)<\/color>/g;
let match = reg.exec(desc);
while (match !== null) {
const color = match[1];
const text = match[2];
desc = desc.replace(match[0], `<span title="${text}" style="color: ${color};">${text}</span>`);
match = reg.exec(desc);
}
desc = desc.replace(/\\n/g, "<br />");
return desc;
}
</script>
<style lang="css" scoped>
.tuc-ddc-content {