95 lines
2.7 KiB
JavaScript
95 lines
2.7 KiB
JavaScript
"use strict";
|
||
const common_vendor = require("../../common/vendor.js");
|
||
if (!Array) {
|
||
const _easycom_up_text2 = common_vendor.resolveComponent("up-text");
|
||
_easycom_up_text2();
|
||
}
|
||
const _easycom_up_text = () => "../../node-modules/uview-plus/components/u-text/u-text.js";
|
||
if (!Math) {
|
||
_easycom_up_text();
|
||
}
|
||
const _sfc_main = {
|
||
__name: "DiscussionsBox",
|
||
props: {
|
||
data: {
|
||
type: Object,
|
||
default: () => ({
|
||
id: 1,
|
||
children: [],
|
||
content: "内容",
|
||
createTime: "2024-06-05T11:32:09.000+08:00",
|
||
parentId: -1,
|
||
userAvatar: null,
|
||
userId: 1,
|
||
userName: "123"
|
||
})
|
||
}
|
||
},
|
||
emits: ["clickHf"],
|
||
setup(__props, { emit: __emit }) {
|
||
const emit = __emit;
|
||
const props = __props;
|
||
common_vendor.ref([]);
|
||
const isExpanded = common_vendor.ref(false);
|
||
const displayedSubDiscussions = common_vendor.computed(() => {
|
||
if (props.data.children == null) {
|
||
props.data.children = [];
|
||
}
|
||
return isExpanded.value ? props.data.children : props.data.children.slice(0, 2);
|
||
});
|
||
const toggleExpand = () => {
|
||
isExpanded.value = !isExpanded.value;
|
||
};
|
||
const handleReply = () => {
|
||
emit("clickHf", props.data.id);
|
||
};
|
||
return (_ctx, _cache) => {
|
||
return common_vendor.e({
|
||
a: common_vendor.p({
|
||
text: "回复",
|
||
type: "primary",
|
||
size: "14"
|
||
}),
|
||
b: common_vendor.o(handleReply),
|
||
c: props.data.userAvatar,
|
||
d: common_vendor.p({
|
||
text: props.data.userName,
|
||
type: "primary",
|
||
bold: true,
|
||
size: "17"
|
||
}),
|
||
e: common_vendor.p({
|
||
margin: "0 0 8px 0",
|
||
text: props.data.content
|
||
}),
|
||
f: common_vendor.f(displayedSubDiscussions.value, (item, index, i0) => {
|
||
return {
|
||
a: "d78e81b4-3-" + i0,
|
||
b: common_vendor.p({
|
||
text: item.userName + ":",
|
||
type: "secondary",
|
||
size: "15"
|
||
}),
|
||
c: "d78e81b4-4-" + i0,
|
||
d: common_vendor.p({
|
||
text: item.content,
|
||
size: "14"
|
||
}),
|
||
e: index
|
||
};
|
||
}),
|
||
g: props.data.children.length > 2
|
||
}, props.data.children.length > 2 ? {
|
||
h: common_vendor.p({
|
||
text: isExpanded.value ? "收起" : "展开更多",
|
||
type: "primary",
|
||
size: "14"
|
||
}),
|
||
i: common_vendor.o(toggleExpand)
|
||
} : {});
|
||
};
|
||
}
|
||
};
|
||
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-d78e81b4"], ["__file", "D:/uniapp1/gree_leran/components/DiscussionsBox/DiscussionsBox.vue"]]);
|
||
wx.createComponent(Component);
|