React 中合并单元格的正确写法

用表格进行页面布局,页面布局在各种浏览器的的兼容性, 都非常好, 而在react中使用表格布局, 合并单元格的写法比较特殊, 博主查了很久才找到正确的写法, 在这里分享一下

3203841-56c3d40cd1a8c78a.jpg

效果图

3203841-526a5564f6e4259f.png

源码

  • react组件文件
import React, {
  Component
} from 'react';

import './App.css';

class App extends Component {
  render() {

    return (
      <div className="App">
        <div className="title">4*4表格</div>
        <table>
          <tbody>
            <tr><td>00</td><td>01</td><td>02</td><td>03</td></tr>
            <tr><td>10</td><td>11</td><td>12</td><td>13</td></tr>
            <tr><td>20</td><td>21</td><td>22</td><td>23</td></tr>
            <tr><td>30</td><td>31</td><td>32</td><td>33</td></tr>
          </tbody>
        </table>
        <hr/>
        <div className="title">跨列写法(colSpan="2")</div>
        <table>
          <tbody>
            <tr><td>00</td><td colSpan="2">01</td><td>03</td></tr>
            <tr><td>10</td><td>11</td><td>12</td><td>13</td></tr>
            <tr><td>20</td><td>21</td><td>22</td><td>23</td></tr>
            <tr><td>30</td><td>31</td><td>32</td><td>33</td></tr>
          </tbody>
        </table>
        <hr/>
        <div className="title">跨行写法(rowSpan="2")</div>
        <table>
          <tbody>
            <tr><td>00</td><td rowSpan="2">01</td><td>02</td><td>03</td></tr>
            <tr><td>10</td><td>12</td><td>13</td></tr>
            <tr><td>20</td><td>21</td><td>22</td><td>23</td></tr>
            <tr><td>30</td><td>31</td><td>32</td><td>33</td></tr>
          </tbody>
        </table>
        <hr/>

      </div>
    );
  }
}

export default App;
  • App.css
.App {
  text-align: center;
}

td {
  border: 1px solid #AB3319;
  width: 30px;
  height: 30px;
}

.title {
  color: #444444;
  font-size: 20px;
  margin: 20px;
}

table {
  margin: 20px auto;
  border-collapse: collapse;
}

小结:

  • React的样式一般都写成js对象的形式, 但跨行和跨列的写法比较特殊, 必须写到 元素属性的位置:<td colSpan="2">01</td>
  • 需要特别注意的是 row-span要写成rowSpan , col-span 要写成colSpan
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
合并单元格,需要使用 `react-bootstrap-table-next` 的 `rowSpan` 和 `colSpan` 属性。这些属性可以在 `columns` 对象定义,用于指定表格每个单元格应该跨越的行和列的数量。 具体的实现步骤如下: 1. 在 `columns` 对象定义需要合并单元格的列,为其添加 `rowSpan` 和 `colSpan` 属性。 2. 在 `data` 数组为需要合并单元格的行添加相应的属性值,这些属性值将在表格渲染时被引用。 下面是一个例子: ```javascript import BootstrapTable from 'react-bootstrap-table-next'; import 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css'; const columns = [ { dataField: 'id', text: 'ID', }, { dataField: 'name', text: 'Name', }, { dataField: 'age', text: 'Age', }, { dataField: 'gender', text: 'Gender', rowSpan: 2, // 跨越两行 }, { dataField: 'location', text: 'Location', colSpan: 2, // 跨越两列 }, { dataField: 'address', text: 'Address', hidden: true, // 隐藏该列 }, { dataField: 'city', text: 'City', }, { dataField: 'state', text: 'State', }, ]; const data = [ { id: 1, name: 'John', age: 30, gender: 'Male', location: 'New York', address: '123 Main St', city: 'New York', state: 'NY', }, { id: 2, name: 'Jane', age: 25, gender: 'Female', location: 'San Francisco', address: '456 Elm St', city: 'San Francisco', state: 'CA', }, ]; <BootstrapTable keyField='id' data={ data } columns={ columns }/> ``` 在上面的例子,表格的 `Gender` 列跨越了两行,`Location` 列跨越了两列。注意,在定义了 `colSpan` 属性的列后面应该添加相应数量的列来占据跨度。 希望这可以帮助你实现合并单元格的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值