RemoveData.tsx 723 B

1234567891011121314151617181920212223242526272829
  1. import { DeleteOutlined } from '@ant-design/icons';
  2. import { ArrayItems } from '@formily/antd';
  3. import { Popconfirm } from 'antd';
  4. import { useField } from '@formily/react';
  5. const RemoveData = () => {
  6. const index = ArrayItems.useIndex!();
  7. const self = useField();
  8. const array = ArrayItems.useArray!();
  9. if (!array) return null;
  10. if (array.field?.pattern !== 'editable') return null;
  11. return (
  12. <div>
  13. <Popconfirm
  14. title={'确认删除'}
  15. onConfirm={() => {
  16. if (self?.disabled) return;
  17. array.field?.remove?.(index);
  18. array.props?.onRemove?.(index);
  19. }}
  20. >
  21. <DeleteOutlined />
  22. </Popconfirm>
  23. </div>
  24. );
  25. };
  26. export default RemoveData;