Files
PC-Light-Forum/component/item-forum/item-forum.js
DESKTOP-RQ919RC\Pc 5c199bb8fe refactor(组件): 重构链接处理并优化样式结构
- 将硬编码的详情页链接改为通过item.url统一管理
- 将评论区域的div改为可点击的a标签
- 调整图标容器的样式结构,增加定位和尺寸控制
- 修复标签过滤逻辑,避免空值导致的错误
2025-11-06 19:19:59 +08:00

41 lines
1.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// my-component.js
// 引入全局 Vue 对象(因在 HTML 中通过 script 引入Vue 已挂载到 window
const { defineComponent, ref } = Vue;
import { itemBottom } from "../item-bottom/item-bottom.js";
import { itemHead } from "../item-head/item-head.js";
// 定义组件(直接使用模板)
export const itemForum = defineComponent({
name: "item-forum",
props: {
itemdata: {
type: Object,
default: () => {},
},
page: {
type: String,
default: "",
},
},
setup(props) {
let res = props.itemdata || {};
res.content = res?.content?.replace(/\[.*?\]/g, "");
res.content = res?.content?.replace(/\<.*?\>/g, "");
res.content = res?.content?.replace(/\[.*?\../g, "");
let item = ref({ ...res });
item.value['url'] = '/details/' + item.value.uniqid;
return { item };
},
components: {
itemBottom,
itemHead,
},
template: `<div class="item-box item-forum"> <item-head :itemdata="item" :page="page"></item-head> <a v-if="item.title" class="title" :href="item.url" target="_blank">{{ item.title }}</a> <a class="message two-line-display" :href="item.url" target="_blank">{{ item.content }}</a> <item-bottom :itemdata="item" :page="page"></item-bottom></div>`,
});