微信小程序 -- 原生封裝table

文章目錄

    • table.wxml
    • table.wxss
      • 注意
    • table.js
      • 注意
    • 結果
    • 數據結構

最近菜鳥做微信小程序的一個查詢功能,需要展示excel里面的數據,但是菜鳥找了一圈,也沒發現什么組件庫有table,畢竟手機端好像確實不太適合做table!

菜鳥只能自己封裝一個table了,當然菜鳥就是簡單的封裝,只是為自己留一個記錄,免得后面要實現類似的東西去翻代碼,對大佬們肯定是沒啥幫助,但是對小白可能有點啟發!

table.wxml

<view class="table-container"><scroll-view scroll-x="true" scroll-y="true" class="table-body"style="max-height: {{height}}"enhanced="true"show-scrollbar="false"><view class="table"><!-- 固定表頭 --><view class="table-header"><view class="tr"><block wx:for="{{columns}}" wx:key="index"><viewclass="th"style="min-width: {{item.width || '300rpx'}};width: {{item.width || '300rpx'}};">{{ item.name }}</view></block></view></view><!-- 表格內容 --><view class="table-rows"><block wx:for="{{listData}}" wx:key="item"><view class="tr borderbtm"><block wx:for="{{columns}}" wx:for-item="cell" wx:key="cell"> <viewclass="td"style="min-width: {{cell.width || '300rpx'}};width: {{cell.width || '300rpx'}};">{{item[cell.key]}}</view></block></view></block></view></view></scroll-view>
</view>

table.wxss

.table-container {width: 100%;
}.table-body {width: 100%;
}.table {width: fit-content;min-width: 100%;
}.table-header {position: sticky; //position: sticky 是相對于最近的可滾動祖先元素,也就是 scroll-view.table-body 元素top: 0;z-index: 1;background: #fff;
}.tr {display: flex;white-space: nowrap;
}.th,
.td {display: inline-flex;align-items: center;box-sizing: border-box;padding: 20rpx;word-break: break-all;word-wrap: break-word;white-space: normal;user-select: text; /* 添加這行使文本可選擇 */
}.td {-webkit-user-select: text; /* 兼容性處理 */cursor: text; /* 顯示文本選擇光標 */
}.th {font-weight: bold;background-color: #f8f8f8;
}.borderbtm {border-bottom: 1px solid #eee;
}

注意

在這里插入圖片描述

table.js

Component({properties: {listData: {type: Array,value: "",},columns: {type: Array,value: "",},height: {type: String,value: "",},},lifetimes: {attached() {const windowInfo = wx.getWindowInfo();const menuButtonInfo = wx.getMenuButtonBoundingClientRect();const headerHeight = menuButtonInfo.bottom + 40;const tableHeight = `${(windowInfo.windowHeight - headerHeight) / 2}px`;this.setData({height: tableHeight,});},},
});

注意

菜鳥這里是正好兩個表要一上一下對半占屏幕,要是不是,可以不要計算這里的部分,直接靠傳參設置!

結果

有圖有真相

在這里插入圖片描述

數據結構

表頭

 b2_header_title: [{ name: "客戶批次號", key: "customerBatchNum" },{ name: "項目批次號", key: "projectBatchNum" },{ name: "執行合同編號", key: "executionContractNum", width: "500rpx" },{ name: "執行合同名稱", key: "executionContractName", width: "1000rpx" },……
]

數據

[{"id": "2441568","customerBatchNum": "SP2410303188","projectBatchNum": "BC2024110238","executionContractNum": "BN2401105NJ01S02N2","executionContractName": "xxxxx","uploadTime": "2025-04-01 14:31:18",……},{"id": "2441570","customerBatchNum": "SP2410303178","projectBatchNum": "BC2024110239","executionContractNum": "BN2401105NJ01S02N2","executionContractName": "xxxxxxx","uploadTime": "2025-04-01 14:32:18",……}
]

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/76371.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/76371.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/76371.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LangChain-輸出解析器 (Output Parsers)

輸出解析器是LangChain的重要組件&#xff0c;用于將語言模型的原始文本輸出轉換為結構化數據。本文檔詳細介紹了輸出解析器的類型、功能和最佳實踐。 概述 語言模型通常輸出自然語言文本&#xff0c;但在應用開發中&#xff0c;我們經常需要將這些文本轉換為結構化的數據格式…

【安全】加密算法原理與實戰

為了理解SSL/TLS原理&#xff0c;大家需要掌握一些加密算法的基礎知識。當然&#xff0c;這不是為了讓大家成為密碼學專家&#xff0c;所以只需對基礎的加密算法有一些了解即可。基礎的加密算法主要有哈希&#xff08;Hash&#xff0c;或稱為散列&#xff09;?、對稱加密(Symm…

MySQL 優化教程:讓你的數據庫飛起來

文章目錄 前言一、數據庫設計優化1. 合理設計表結構2. 范式化與反范式化3. 合理使用索引 二、查詢優化1. 避免使用 SELECT *2. 優化 WHERE 子句3. 優化 JOIN 操作 三、服務器配置優化1. 調整內存分配2. 調整并發參數3. 優化磁盤 I/O 四、監控與分析1. 使用 EXPLAIN 分析查詢語句…

LangChain4j(1):初步認識Java 集成 LLM 的技術架構

LangChain 作為構建具備 LLM 能力應用的框架&#xff0c;雖在 Python 領域大放異彩&#xff0c;但 Java 開發者卻只能望洋興嘆。LangChain4j 正是為解決這一困境而誕生&#xff0c;它旨在借助 LLM 的強大效能&#xff0c;增強 Java 應用&#xff0c;簡化 LLM 功能在Java應用中的…

Linux服務器安裝百度飛槳3.0(pip docker)

Linux安裝部署百度飛槳3.0 1.官方文檔指引2.確認服務器型號2.1 確認Python版本2.2 確認pip是否安裝2.3 確認計算平臺 3.本機安裝&#xff08;基于通過 pip 安裝&#xff09;3.1 下載安裝 PaddlePaddle3.2 安裝PaddleX3.2.1 安裝PaddleX3.2.2 命令行規范3.2.3 運行示例3.2.4 查看…

Spring Boot 自動加載流程詳解

前言 Spring Boot 是一個基于約定優于配置理念的框架&#xff0c;它通過自動加載機制大大簡化了開發者的配置工作。本文將深入探討 Spring Boot 的自動加載流程&#xff0c;并結合源碼和 Mermaid 圖表進行詳細解析。 一、Spring Boot 自動加載的核心機制 Spring Boot 的自動加…

2025年危化品安全管理人員備考指南|智能題庫+核心考點解析

作為危化品生產單位安全管理人員&#xff08;主要負責人&#xff09;&#xff0c;考試內容主要涵蓋三大模塊&#xff1a; 法律法規體系 《安全生產法》修訂要點&#xff08;2023版&#xff09; 危險化學品重大危險源辨識標準&#xff08;GB 18218&#xff09; 最新《化工過…

如何優雅使用 ReentrantLock 進行加解鎖:避免常見坑點,提高代碼可維護性

引言&#xff1a;鎖的基本概念和問題 在多線程編程中&#xff0c;為了確保多個線程在訪問共享資源時不會發生沖突&#xff0c;我們通常需要使用 鎖 來同步對資源的訪問。Java 提供了不同的鎖機制&#xff0c;其中 ReentrantLock 是一種最常用且功能強大的鎖&#xff0c;它屬于…

Redhat紅帽 RHCE8.0認證體系課程

課程大小&#xff1a;7.7G 課程下載&#xff1a;https://download.csdn.net/download/m0_66047725/90546064 更多資源下載&#xff1a;關注我 紅帽企業 Linux 系統的管理技能已經成為現代數據中心的核心競爭力。 Linux 在支持混合云、跨物理服務器、虛機、私有云和公共云計…

Shell腳本編程

目錄 1. Shell腳本概述 什么是Shell&#xff1f; Shell的作用 常見的Shell類型 2. 環境搭建與安裝 Linux系統 macOS系統 Windows系統 3.安裝并配置Zsh&#xff08;macOS/Linux&#xff09; 4. Shell基礎語法 變量與數據類型 輸入交互 5. Shell腳本進階 進程管理 …

學生管理系統(Python)

運行結果&#xff1a; 源代碼&#xff1a; """ 項目&#xff1a;類似于學生管理系統---增刪改查 """ #封裝一個學生類 import random class Student: def __init__(self,stuid,name,score): self.stuid stuid self.name name self.score …

電商素材革命:影刀RPA魔法指令3.0驅動批量去水印,實現秒級素材凈化

本文 去除水印實操視頻展示電商圖片水印處理的困境?影刀 RPA 魔法指令 3.0 強勢登場?利用魔法指令3.0兩步實現去除水印操作關于影刀RPA 去除水印實操視頻展示 我們這里選擇了4張小紅書里面比較帥氣的圖片&#xff0c;但凡用過小紅書的都知道&#xff0c;小紅書右下角是會有小…

Seq2Seq - GRU補充講解

nn.GRU 是 PyTorch 中實現門控循環單元&#xff08;Gated Recurrent Unit, GRU&#xff09;的模塊。GRU 是一種循環神經網絡&#xff08;RNN&#xff09;的變體&#xff0c;用于處理序列數據&#xff0c;能夠更好地捕捉長距離依賴關系。 ?重點掌握輸入輸出部分輸入張量&#…

設計模式-觀察者模式和發布訂閱模式區別

文章目錄 其他不錯的文章 二者有類似的地方&#xff0c;也有區別。 引用的文章說的已經比較清楚了&#xff0c;這里只列出對比圖。 對比點觀察者模式發布訂閱模式中間人角色無事件中心&#xff0c;觀察者直接訂閱目標有事件中心&#xff0c;發布者與訂閱者通過事件中心通信關系…

【SQL】基于多源SQL 去重方法對比 -- 精華版

【SQL】基于SQL 去重方法對比 -- 精華版 一、引言二、基于SQL去重方法完整對比1. MySQL去重方法及優劣勢1.1 ?DISTINCT關鍵字1.2 GROUP BY子句1.3 UNION系列操作1.4 子查詢 自關聯 2. Hive去重方法及優劣勢2.1 DISTINCT關鍵字2.2 ?GROUP BY子句2.3 ?ROW_NUMBER窗口函數2.4 …

電腦命名配置很高,為什么運行軟件特別卡

估計很多同學都碰見過這種情況&#xff0c;以我的Redmi G為例&#xff0c;I9-14待CPU&#xff0c;又換了一條內存條&#xff0c;現有配置I9-14900&#xff0c;40G內存5200MT/s&#xff0c;4060顯卡&#xff0c;為啥運行兩個辦公軟件就卡的不行&#xff0c;風扇狂轉&#xff0c;…

Spring Boot默認注冊的轉換器列表及其功能說明。這些轉換器使得控制器方法可以直接接收Integer、Long、Date等類型參數,無需手動實現轉換

以下是Spring Boot默認注冊的轉換器列表及其功能說明。這些轉換器使得控制器方法可以直接接收Integer、Long、Date等類型參數&#xff0c;無需手動實現轉換&#xff1a; 默認轉換器列表及功能 1. 基礎類型轉換器 轉換器名稱功能示例場景StringToIntegerConverter將字符串轉換…

chrome提示https不安全, 不能記住賬號密碼怎么辦? 可以利用js輸入賬號

背景: 在內網搭建的服務, 由于https證書問題, 可能會被chrome瀏覽器提示不安全 此時, 默認的記住賬號密碼功能就無法使用, 那么此時只能手動輸入了嗎? 想到了幾種方案 1.利用外置軟件, 模擬按鍵輸入(比如按鍵精靈, 缺點是依賴外部軟件, 運行速度也慢, 且執行時占用了輸入焦…

探秘Transformer系列之(25)--- KV Cache優化之處理長文本序列

探秘Transformer系列之&#xff08;25&#xff09;— KV Cache優化之處理長文本序列 文章目錄 探秘Transformer系列之&#xff08;25&#xff09;--- KV Cache優化之處理長文本序列0x00 概述0x01 優化依據1.1 稀疏性1.2 重要性1.3 小結 0x02 稀疏化1.1 分類1.2 靜態稀疏化1.2.1…

【開發經驗】結合實際問題解決詳述HTTPS通信過程

最近的開發調試過程中涉及到了HTTPS發送與接收&#xff0c;遇到實際問題才發現對這部分尚屬于一知半解。結合實際問題的解決過程來詳細整理以下HTTPS通信過程。 需要調試的功能為BMC作為客戶端向搭建好的Web服務器發送HTTPS請求&#xff0c;Web服務器負責接收處理發送過來的HT…