如何解決antd中table有scroll澎剥,展開行錯位的問題

在antd官網(wǎng)中,Table表格的用法赶舆,列出了大量的可執(zhí)行的情況哑姚。

例如:固定某一方向,可以滑動

WechatIMG4725.jpeg

例如:表格展開第二項

WechatIMG4726.jpeg

你開開心心芜茵,想找著既可以滑動叙量,又可以展開的。居然沒有九串,what=逝濉寺鸥?~

打開github 戳->https://github.com/ant-design/ant-design/issues/9900

人家都告訴你了,【展開行不能跟固定列一起用】品山。

沒辦法??胆建,出現(xiàn)線上問題還得改。

so~彩蛋解決辦法來了肘交。


<Table

  columns={this.columns()}

  rowKey={row => {

    row.basic && row.basic.shop_id;

  }}

  dataSource={data}

  pagination={{

    showSizeChanger: true,

    onChange: onPageChange,

    onShowSizeChange: onPageChange,

    current: pagination.page,

    pageSize: pagination.page_size,

    total: total,

    pageSizeOptions: ["10", "20", "30"]

  }}

  bordered

  loading={loading}

  scroll={{ x: 3550, y: 600 }}

  expandedRowRender={this.expandedRowRender}

/>

// 部分代碼

expandedRowRender(record) {

  if (record.basic.sub_status === 0) {

    return <div>無子門店</div>;

  }

}

let head = [

  <div className="ChildUnit" key={-1}>

    <span>a1</span>

    <span>a2</span>

    <span>a3</span>

    <span>a4</span>

    <span>a5</span>

    <span>a6</span>

    <span>a7</span>

    <span>a8</span>

    <span>a9</span>

    <span>a10</span>

  </div>,

}

// 部分代碼

ecord.trade_data.forEach((item, index) => {

  head.push(

    <div className="ChildUnit" key={index}>

    <span>{item.id !== 0 ? item.id : '-'}</span>

  <span>

    {item.name !== ''

      ? item.name

      : record.basic.shop_name}

  </span>

  <span>{item.auth_volume}</span>

  <span>{formatPrice(item.auth_turnover, true)}</span>

  <span>{item.pay_volume}</span>

  <span>{formatPrice(item.pay__turnover, true)}</span>

  <span>{item.period_no_quick_volume}</span>

  <span>{item.period_quick_volume}</span>

  <span>{formatPrice(item.period_all_turnover, true)}</span>

  <span>{formatPrice(item.period_per_customer_trans, true)}</span>

</div>)

}

如果你們的代碼也是類似以上結(jié)構(gòu)笆载,那么你們所固定一方與可滑動的一方將會渲染兩次expandedRowRender里面的值,并且酸些,固定方(寬度占兩格)宰译,滑動方(寬度占22格)檐蚜。你們會發(fā)現(xiàn)魄懂,頁面簡直串位到不能看。

修改想法??:

1闯第、因為expandedRowRender會調(diào)用兩次市栗,是否可以用計數(shù)法進行控制。

2咳短、前端離不開樣式的渲染填帽。


// 部分修改代碼:

expandedRowRender = record => {

  if (this.times === 2) {

    this.times = 0;

  }

  if (!this.times) {

    this.times = 1;

  } else if (this.times === 1) {

    this.times = 2;

}

  if (record.basic.sub_status === 0) {

    return <div>無子門店</div>;

  }

  if (record.trade_data.length === 0) {

    return <div>暫無子門店數(shù)據(jù)</div>;

  }

let head = [

  <div className="ChildUnit" key={-1}>

    {this.times === 2 ? (

      <React.Fragment>

         <span>a1</span>

         <span>a2</span>

    </React.Fragment>

  ) : this.times === 1 ? (

    <React.Fragment>

      <span>a1</span>

      <span>a2</span>

      <span>a3</span>

      <span>a4</span>

      <span>a5</span>

      <span>a6</span>

      <span>a7</span>

      <span>a8</span>

      <span>a9</span>

      <span>a10</span>

  </React.Fragment>

) : null}

</div>

];

record.trade_data.forEach((item, index) => {

  head.push(

    <div className="ChildUnit" key={index}>

      {this.times === 2 ? (

    <React.Fragment>

      <span>{item.id !== 0 ? item.id : "-"}</span>

      <span>

    {item.name !== ""

        ? item.name

        : record.basic.shop_name}

      </span>

    </React.Fragment>

  ) : this.times === 1 ? (

    <React.Fragment>

      <span>{item.id !== 0 ? item.id : "-"}</span>

      <span>

        {item.name !== ""

          ? item.name

          : record.basic.shop_name}

      </span>

      <span>{item.auth_volume}</span>

      <span>{formatPrice(item.auth_turnover, true)}</span>

      <span>{item.pay_volume}</span>

      <span>{formatPrice(item.pay_turnover, true)}</span>

      <span>{item.period_no_quick_volume}</span>

      <span>{item.period_quick_volume}</span>

      <span>{formatPrice(item.period_all_turnover, true)}</span>

      <span>{formatPrice(item.period_per_customer_trans, true)}</span>

  </React.Fragment>

) : null}

</div>

);

});

最終展示效果:(已將真實數(shù)據(jù)修改了一下,但是應(yīng)該看得懂)

WechatIMG4724.jpeg

通過this.times的方法咙好,控制了左邊固定的列和右邊可滑動的列渲染出來的值篡腌。

ps:通過實踐得出,expandedRowRender執(zhí)行兩次勾效,第一次是執(zhí)行右邊可以滑動的嘹悼。
第二次執(zhí)行左邊固定的。所以times的取值层宫,大家都看得到了杨伙。在進行簡單的css樣式調(diào)整。

至于固定了兩邊或者其他類似情況萌腿,不妨用改方法實踐一下限匣。

最好的辦法就是,趕緊和pm說這樣的需求不可行毁菱。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末米死,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子贮庞,更是在濱河造成了極大的恐慌哲身,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贸伐,死亡現(xiàn)場離奇詭異勘天,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門脯丝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來商膊,“玉大人,你說我怎么就攤上這事宠进≡尾穑” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵材蹬,是天一觀的道長实幕。 經(jīng)常有香客問我,道長堤器,這世上最難降的妖魔是什么昆庇? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮整吆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘辉川。我一直安慰自己表蝙,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布乓旗。 她就那樣靜靜地躺著府蛇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪屿愚。 梳的紋絲不亂的頭發(fā)上汇跨,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音渺鹦,去河邊找鬼扰法。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播浪讳,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼祠锣!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起咽安,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤伴网,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后妆棒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體澡腾,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡沸伏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了动分。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片毅糟。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖澜公,靈堂內(nèi)的尸體忽然破棺而出姆另,到底是詐尸還是另有隱情,我是刑警寧澤坟乾,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布迹辐,位于F島的核電站,受9級特大地震影響甚侣,放射性物質(zhì)發(fā)生泄漏明吩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一渺绒、第九天 我趴在偏房一處隱蔽的房頂上張望贺喝。 院中可真熱鬧菱鸥,春花似錦宗兼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鹊漠,卻和暖如春主到,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背躯概。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工登钥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人娶靡。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓牧牢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親姿锭。 傳聞我的和親對象是個殘疾皇子塔鳍,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,465評論 2 348