記錄 Hooks Table 增刪子表

記錄Antd Table組件寫法父表Row增加昙衅、刪除或其他操作子表單獨(dú)刷新

平常我們的做表格都有展開子表,那么我們要在父元素操作子元素比如刪除、增加和刷新算谈,這種情況我們需要做如下寫法:

image.png
import { Table, Row, Space, Button, Spin } from "antd";
import Mock from "mockjs";
import { useState, memo, useEffect } from "react";

//子元素
const RefreshChildRow = memo((props) => {
  const { id, refreshId, resetRefresh } = props;
  const [loading, setLoading] = useState(false);

  useEffect(() => {
    if (refreshId === id) {
      setLoading(true);
      setTimeout(() => {
        setLoading(false);
        resetRefresh(null);
      }, 1000);
    }
  }, [refreshId, id, resetRefresh]);

  return (
    <Spin spinning={loading}>
      <Row>{props.name}</Row>
    </Spin>
  );
});

const Random = Mock.Random;

const data = new Array(10).fill("").map(() => ({
  name: Random.name(),
  id: Mock.mock("@increment"),
  title: Random.title(),
  child: [
    {
      name: Random.name(),
      id: Mock.mock("@increment"),
      title: Random.title()
    }
  ]
}));

const CustomTable = (props) => {
  const [refreshId, setRefreshId] = useState(null);
  const handleAdd = (row) => {
    setRefreshId(row.id);
  };
  const columns = [
    {
      dataIndex: "name",
      title: "name"
    },
    {
      dataIndex: "id",
      title: "id"
    },
    {
      dataIndex: "title",
      title: "title"
    },
    {
      title: "操作",
      render(row) {
        return (
          <Space>
            <Button onClick={() => handleAdd(row)}>添加</Button>
          </Space>
        );
      }
    }
  ];
  return (
    <Table
      columns={columns}
      rowKey={"id"}
      pagination={false}
      size="small"
      dataSource={data}
      expandable={{
        expandedRowRender: (record) => (
          <RefreshChildRow
            {...record}
            refreshId={refreshId}
            resetRefresh={setRefreshId}
          />
        )
      }}
    />
  );
};

export default memo(CustomTable);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嘉冒,一起剝皮案震驚了整個(gè)濱河市曹货,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌讳推,老刑警劉巖顶籽,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異银觅,居然都是意外死亡礼饱,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門究驴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來镊绪,“玉大人,你說我怎么就攤上這事洒忧『拢” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵熙侍,是天一觀的道長榄鉴。 經(jīng)常有香客問我,道長蛉抓,這世上最難降的妖魔是什么庆尘? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮巷送,結(jié)果婚禮上驶忌,老公的妹妹穿的比我還像新娘。我一直安慰自己惩系,他們只是感情好位岔,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著堡牡,像睡著了一般抒抬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上晤柄,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天擦剑,我揣著相機(jī)與錄音,去河邊找鬼。 笑死惠勒,一個(gè)胖子當(dāng)著我的面吹牛赚抡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播纠屋,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼涂臣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了售担?” 一聲冷哼從身側(cè)響起赁遗,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎族铆,沒想到半個(gè)月后岩四,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哥攘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年剖煌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逝淹。...
    茶點(diǎn)故事閱讀 40,144評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡耕姊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出创橄,到底是詐尸還是另有隱情箩做,我是刑警寧澤莽红,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布妥畏,位于F島的核電站,受9級特大地震影響安吁,放射性物質(zhì)發(fā)生泄漏醉蚁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一鬼店、第九天 我趴在偏房一處隱蔽的房頂上張望网棍。 院中可真熱鬧,春花似錦妇智、人聲如沸滥玷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惑畴。三九已至,卻和暖如春航徙,著一層夾襖步出監(jiān)牢的瞬間如贷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留杠袱,地道東北人尚猿。 一個(gè)月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像楣富,于是被迫代替她去往敵國和親凿掂。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 使用antd自帶的table組件時(shí)纹蝴,遇到了控制臺報(bào)錯(cuò)缠劝,雖然是warning不影響使用,但紅紅的一塊看起來總覺得不舒...
    _____請輸入昵稱閱讀 10,558評論 0 6
  • ======================console報(bào)錯(cuò)Objects are not valid as a...
    nnnnxcj閱讀 333評論 1 0
  • 1骗灶、v-model默認(rèn)的觸發(fā)條件是input事件,加了.lazy修飾符之后,v-model會在change事件觸發(fā)...
    Dockerps閱讀 308評論 0 2
  • 技術(shù)點(diǎn): 不定期更新補(bǔ)充 頁面引用svg symbol標(biāo)簽創(chuàng)建icon p:nth-child(2) 與 p:nt...
    wwmin_閱讀 1,482評論 0 52
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月惨恭,有人笑有人哭,有人歡樂有人憂愁耙旦,有人驚喜有人失落脱羡,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,536評論 28 53