Files
FreeERP.Applet/miniprogram/pages/components/card-plugin/card-plugin.ts

65 lines
1.5 KiB
TypeScript
Raw Normal View History

// pages/components/card_plugin/card_plugin.js
Component({
/**
*
*/
options: {
multipleSlots: true,
addGlobalClass: true,
},
properties: {
customStyle: null,
className: null,
headerStyle: null,
contentStyle: null,
footerStyle: null,
},
lifetimes: {
attached() {
setTimeout(() => {
this.getSlotHeight();
}, 100);
},
},
/**
*
*/
data: {
showMore: false,
},
/**
*
*/
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,
});
},
},
});