Files
FreeERP.Applet/miniprogram/pages/components/card-plugin/card-plugin.ts
2026-02-02 16:58:37 +08:00

68 lines
1.6 KiB
TypeScript
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.
// pages/components/card_plugin/card_plugin.js
Component({
/**
* 组件的属性列表
*/
options: {
multipleSlots: true,
addGlobalClass: true,
},
properties: {
customStyle: null,
className: null,
headerStyle: null,
contentStyle: null,
footerStyle: null,
showMoreBar: { type: Boolean, value: true },
showAll: { type: Boolean, value: false },
},
lifetimes: {
attached() {
// setTimeout(() => {
// this.getSlotHeight();
// }, 100);
},
},
/**
* 组件的初始数据
*/
data: {
showMore: false,
// showMoreBar: true,
},
/**
* 组件的方法列表
*/
methods: {
getSlotHeight() {
// 1. 创建组件内的节点查询器(必须加.in(this)
const query = wx.createSelectorQuery().in(this);
// 2. 查询插槽容器节点
query
.select('#contentSlot')
.boundingClientRect((rect) => {
if (rect) {
const height = rect.height; // 获取节点高度单位px
const fontSizeSetting = wx.getAppBaseInfo().fontSizeSetting;
this.setData({ showMoreBar: height >= fontSizeSetting * 3 * 1.57 });
// 可将高度通过自定义事件传递给父页面
// this.triggerEvent("slotHeightChange", { height });
} else {
// console.warn("未查询到插槽容器节点");
}
})
.exec(); // 执行查询
},
click(e: any) {
this.triggerEvent('tap', e);
},
showMoreTap() {
this.setData({
showMore: !this.data.showMore,
});
},
},
});