簡體   English   中英

如何在antd / Ant Design中將className傳遞給表的表頭?

[英]How can I pass a className to the Header of a Table in antd / Ant Design?

使用Ant設計表,我可以使用rowClassName將className傳遞給任意行:

rowClassName={(record, index) => index === 0 && 'headerClassName'}

有任何方法可以通過Header執行此操作嗎?

對於對象的columns數組內的標題鍵,將字符串更改為react節點。

我們可以使用這種方式對標題文本進行自定義樣式設置,但無法完全解決問題,

只是一個樣本

columns = [
    { title: <div style={{ background: "#01bcd4"  }}>Full Name:</div>, width: 100, dataIndex: 'name', key: 'name', fixed: 'left'},
      { title: <div style={{ background: "#01bcd4" }}>Presets:</div>, width: 100, dataIndex: 'age', key: 'age', fixed: 'left' }]

在樣式表方面,CSS似乎很棘手,而antd Table是用常規HTML表(頂部是邏輯糖)構建的。 不可能使用antdclassName傳遞到表的頭,但是如果可以的antd ,這似乎不是最有用的。

相反,解決方案是將className作為一個整體傳遞給Table ,並具有如下CSS樣式以設置標題。

import React from 'react';
import { Table } from 'antd';
import { css } from 'react-emotion';

const tableCSS = css({
  margin: '40px 120px',
  backgroundColor: 'white',
  '& table': {
    borderCollapse: 'collapse'
  },
  '& thead > tr > th': {
    backgroundColor: 'darkblue',
    color: 'white',
  },
  '& thead > tr': {
    borderWidth: '2px',
    borderColor: 'yellow',
    borderStyle: 'solid'
  }
});

const StyledTable = ({ data, columns }) => (
    <Table
      className={tableCSS}
      dataSource={data}
      columns={columns}
    />
);

注意:如果您想要標題行周圍的邊框,則只需要borderCollapse: 'collapse'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM