From 7ec755703ac09b7e1cb7f1551ebe749386a0f333 Mon Sep 17 00:00:00 2001 From: Bing Sun Date: Mon, 11 May 2020 20:37:17 +0800 Subject: [PATCH] Table: support header_options --- src/components/Table.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/components/Table.js b/src/components/Table.js index e5f289b..0e46c38 100644 --- a/src/components/Table.js +++ b/src/components/Table.js @@ -94,8 +94,18 @@ export default initial_vnode => { // always show table header m('thead', m('tr', [ vnode.attrs.serial ? m('th.centered', '序号') : undefined, - ...columns.map(column => m('th.centered', column.label)) + ...columns.map(column => { + let el = column.label + + if (vnode.attrs.header_options && vnode.attrs.header_options[column.label]) { + if (typeof vnode.attrs.header_options[column.label].producer == 'function') + el = vnode.attrs.header_options[column.label].producer(el) + } + + return m('th.centered', el) + }) ])), + // table content model.data(offset, limit).length ? m('tbody', model.data(offset, limit).map((row, i) => m('tr', [ vnode.attrs.serial ? m('td.centered', offset+i+1) : undefined, @@ -112,6 +122,7 @@ export default initial_vnode => { }) ]))) : m('', 'Empty') ]), + // page navigation pages.length > 1 && vnode.attrs.show ? m('.centered',