/* * 構建數據列 * */ tableColumns = (currentData) => { let group = lodashGroupBy(currentData, 'level1'); console.log('group', group); return [{ title: '統計事項一級目錄', dataIndex: 'level1', width: '100px', key: 'level1', render: (value, row, index) => { if (!currentData.length || !currentData){ return ''; } if (index === 0){//處理第一行數據 const obj = { children: value, props: {}, }; obj.props.rowSpan = group[value].length; return obj } if (index > 0 && currentData[index-1].level1 === value){ //判斷當前的值和前面一個值是否相等,如果相等則設置obj.props.rowSpan = 0; const obj = { children: value, props: {}, }; obj.props.rowSpan = 0; return obj }else { const obj = { children: value, props: {}, }; obj.props.rowSpan = group[value].length; return obj } }, }, { title: '統計事項二級目錄', dataIndex: 'level2', width: '100px', key: 'level2' }].concat(this.dynamicMonth(this.state.startMonth, this.state.endMonth)); };