$el.setAttribute(e, col.attr[e]))\\\">
let data = { table: { customHeader: [ [ { title: \\'City\\', attr: { rowspan: 2 }, class: \\'border-r border-t\\' }, { title: \\'Clothes\\', attr: { colspan: 3 }, class: \\'border-r border-t\\' }, { title: \\'Accessories\\', attr: { colspan: 2 }, class: \\'border-t\\' } ], [ { title: \\'Trousers\\', class: \\'border-r\\' }, { title: \\'Skirts\\', class: \\'border-r\\' }, { title: \\'Dresses\\', class: \\'border-r\\' }, { title: \\'Bracelets\\', class: \\'border-r\\' }, { title: \\'Rings\\' }, ] ], }}
And this is the data we want to show:
data: [ { \\\"city\\\": \\\"Mandalay\\\", \\\"trousers\\\": 79, \\\"skirts\\\": 16, \\\"dresses\\\": 14, \\\"bracelets\\\": 69, \\\"rings\\\": 99 }, { \\\"city\\\": \\\"George Town\\\", \\\"trousers\\\": 68, \\\"skirts\\\": 24, \\\"dresses\\\": 90, \\\"bracelets\\\": 96, \\\"rings\\\": 48 }, { \\\"city\\\": \\\"Gent\\\", \\\"trousers\\\": 26, \\\"skirts\\\": 60, \\\"dresses\\\": 67, \\\"bracelets\\\": 5, \\\"rings\\\": 43 }, { \\\"city\\\": \\\"Mombasa\\\", \\\"trousers\\\": 34, \\\"skirts\\\": 62, \\\"dresses\\\": 18, \\\"bracelets\\\": 75, \\\"rings\\\": 78 }, { \\\"city\\\": \\\"Lyon\\\", \\\"trousers\\\": 13, \\\"skirts\\\": 33, \\\"dresses\\\": 12, \\\"bracelets\\\": 0, \\\"rings\\\": 17 }, { \\\"city\\\": \\\"Vancouver\\\", \\\"trousers\\\": 82, \\\"skirts\\\": 91, \\\"dresses\\\": 18, \\\"bracelets\\\": 96, \\\"rings\\\": 72 }, { \\\"city\\\": \\\"Cairn\\\", \\\"trousers\\\": 64, \\\"skirts\\\": 43, \\\"dresses\\\": 14, \\\"bracelets\\\": 95, \\\"rings\\\": 55 },]
$el.setAttribute(e, col.attr[e]))\\\">
customFooter: [ [ { value: \\'Total\\', class: \\'font-bold border-r text-center\\', attr: { rowspan: 2 } }, { name: \\'total-trousers\\', class: \\'text-right border-r\\' }, { name: \\'total-skirts\\', class: \\'text-right border-r\\', }, { name: \\'total-dresses\\', class: \\'text-right border-r\\' }, { name: \\'total-bracelets\\', class: \\'text-right border-r\\' }, { name: \\'total-rings\\', class: \\'text-right\\' }, ], [ { name: \\'total-clothes\\', class: \\'text-center border-r\\', attr: { colspan: 3 } }, { name: \\'total-accessories\\', class: \\'text-center\\', attr: { colspan: 2 } }, ],],
We demonstrate the table's functionality with sample data containing city names and various clothing items.
This breakdown showcases how Alpine JS empowers us to create dynamic tables with flexible headers, bodies, and footers. This approach simplifies table creation and management, especially for scenarios with frequently changing data.
","image":"http://www.luping.net/uploads/20240807/172301076366b30ecb43db6.jpg","datePublished":"2024-08-07T14:06:02+08:00","dateModified":"2024-08-07T14:06:02+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}This article explores creating dynamic tables using Alpine JS, a lightweight JavaScript framework. We'll break down the process into three sections: header, body, and footer, focusing on both basic and complex scenarios.
The initial code is below:
let data = { table: { customHeader: [ [ { title: 'City', attr: { rowspan: 2 }, class: 'border-r border-t' }, { title: 'Clothes', attr: { colspan: 3 }, class: 'border-r border-t' }, { title: 'Accessories', attr: { colspan: 2 }, class: 'border-t' } ], [ { title: 'Trousers', class: 'border-r' }, { title: 'Skirts', class: 'border-r' }, { title: 'Dresses', class: 'border-r' }, { title: 'Bracelets', class: 'border-r' }, { title: 'Rings' }, ] ], } }
And this is the data we want to show:
data: [ { "city": "Mandalay", "trousers": 79, "skirts": 16, "dresses": 14, "bracelets": 69, "rings": 99 }, { "city": "George Town", "trousers": 68, "skirts": 24, "dresses": 90, "bracelets": 96, "rings": 48 }, { "city": "Gent", "trousers": 26, "skirts": 60, "dresses": 67, "bracelets": 5, "rings": 43 }, { "city": "Mombasa", "trousers": 34, "skirts": 62, "dresses": 18, "bracelets": 75, "rings": 78 }, { "city": "Lyon", "trousers": 13, "skirts": 33, "dresses": 12, "bracelets": 0, "rings": 17 }, { "city": "Vancouver", "trousers": 82, "skirts": 91, "dresses": 18, "bracelets": 96, "rings": 72 }, { "city": "Cairn", "trousers": 64, "skirts": 43, "dresses": 14, "bracelets": 95, "rings": 55 }, ]
customFooter: [ [ { value: 'Total', class: 'font-bold border-r text-center', attr: { rowspan: 2 } }, { name: 'total-trousers', class: 'text-right border-r' }, { name: 'total-skirts', class: 'text-right border-r', }, { name: 'total-dresses', class: 'text-right border-r' }, { name: 'total-bracelets', class: 'text-right border-r' }, { name: 'total-rings', class: 'text-right' }, ], [ { name: 'total-clothes', class: 'text-center border-r', attr: { colspan: 3 } }, { name: 'total-accessories', class: 'text-center', attr: { colspan: 2 } }, ], ],
We demonstrate the table's functionality with sample data containing city names and various clothing items.
This breakdown showcases how Alpine JS empowers us to create dynamic tables with flexible headers, bodies, and footers. This approach simplifies table creation and management, especially for scenarios with frequently changing data.
Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.
Copyright© 2022 湘ICP备2022001581号-3