index.jsx 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. import React from 'react';
  2. import { Table, Dropdown } from '@douyinfe/semi-ui/';
  3. import Tooltip from '../..';
  4. export default function InTableDemo(props = {}) {
  5. const getPopupContainer = () => document.querySelector('#dropdown-wrap');
  6. const columns = [
  7. {
  8. title: 'Name',
  9. dataIndex: 'name',
  10. width: '30%',
  11. render: text => {
  12. return (
  13. <div id="dropdown-wrap" style={{ position: 'relative' }}>
  14. <Dropdown
  15. getPopupContainer={getPopupContainer}
  16. position="rightTop"
  17. trigger="click"
  18. render={
  19. <Dropdown.Menu>
  20. <Dropdown
  21. getPopupContainer={getPopupContainer}
  22. position="rightTop"
  23. render={
  24. <Dropdown.Menu>
  25. <Dropdown.Item>Menu Item 1</Dropdown.Item>
  26. <Dropdown.Item>Menu Item 2</Dropdown.Item>
  27. <Dropdown.Item>Menu Item 3</Dropdown.Item>
  28. </Dropdown.Menu>
  29. }
  30. >
  31. <Dropdown.Item>Menu Item 1</Dropdown.Item>
  32. </Dropdown>
  33. <Dropdown.Item>Menu Item 2</Dropdown.Item>
  34. <Dropdown.Item>Menu Item 3</Dropdown.Item>
  35. </Dropdown.Menu>
  36. }
  37. >
  38. <a href="javascript:;">{text}</a>
  39. </Dropdown>
  40. </div>
  41. );
  42. },
  43. },
  44. {
  45. title: 'Age',
  46. width: '20%',
  47. dataIndex: 'age',
  48. },
  49. {
  50. title: 'Address',
  51. width: '50%',
  52. dataIndex: 'address',
  53. },
  54. ];
  55. const data = [
  56. {
  57. key: '1',
  58. name: 'John Brown',
  59. age: 32,
  60. address: 'New York No. 1 Lake Park, New York No. 1 Lake Park',
  61. },
  62. {
  63. key: '2',
  64. name: 'Jim Green',
  65. age: 42,
  66. address: 'London No. 1 Lake Park',
  67. },
  68. {
  69. key: '3',
  70. name: 'Joe Black',
  71. age: 32,
  72. address: 'Sidney No. 1 Lake Park',
  73. },
  74. {
  75. key: '4',
  76. name: 'Disabled User',
  77. age: 99,
  78. address: 'Sidney No. 1 Lake Park',
  79. },
  80. ];
  81. return <Table columns={columns} dataSource={data} />;
  82. }