api和封装,让Modal组件使用更加便捷

简介: api和封装,让Modal组件使用更加便捷

api和封装,让Modal组件使用更加便捷


最近有个页面,用到多个Modal,于是好几对[isVisible, setIsVisible] = useState(false);,以及确定、取消事件。

嫌麻烦~,仔细查下官网

简单的 Modal,可以使用 api

简单的 modal,直接使用api 调用,最最方便的!

Modal.info({
  title: 'This is a notification message',
  content: (
    <div>
      <p>some messages...some messages...</p>
    </div>
  ),
  onOk() {},
});
  • Modal.info
  • Modal.success
  • Modal.error
  • Modal.warning
  • Modal.confirm

复杂些的 Modal,封装成组件

复杂些,封装到一个组件里,逻辑自洽。

使用的时候xxRef.current.open()

封装也很简单:

import { useImperativeHandle, useState, forwardRef } from 'react';
import { Modal } from 'antd';
const ModalCreate = forwardRef((props, ref) => {
  const [isVisible, setIsVisible] = useState(false);
  const close = () => {
    setIsVisible(false);
  };
  // 只暴露想暴露的方法
  useImperativeHandle(ref, () => ({
    open: () => {
      setIsVisible(true);
    },
    close,
  }));
  return (
    <Modal title="Basic Modal" open={isVisible} onOk={close}>
      内容
    </Modal>
  );
});
export default ModalCreate;

使用的时候

import ModalCreate from '...';
const modalCreateRef = useRef();
modalCreateRef.current.open();
<ModalCreate ref={modalCreateRef} />;

注意事项

  • <Modal /> 默认关闭后状态不会自动清空, 如果希望每次打开都是新内容,请设置destroyOnClose`。
  • <Modal />Form 一起配合使用时,设置 destroyOnClose 也不会在 Modal 关闭时销毁表单字段数据,需要设置 <Form preserve={false} />
  • Modal.method() RTL 模式仅支持 hooks 用法。
目录
相关文章
|
18天前
|
缓存 前端开发 API
API接口封装系列
API(Application Programming Interface)接口封装是将系统内部的功能封装成可复用的程序接口并向外部提供,以便其他系统调用和使用这些功能,通过这种方式实现系统之间的通信和协作。下面将介绍API接口封装的一些关键步骤和注意事项。
|
3月前
|
JavaScript API
【vue实战项目】通用管理系统:api封装、404页
【vue实战项目】通用管理系统:api封装、404页
37 3
|
1月前
|
前端开发 API 数据处理
uni-app 封装api请求
uni-app 封装api请求
15 0
|
1月前
|
JavaScript API
Vue3的手脚架使用和组件父子间通信-插槽(Options API)学习笔记
Vue3的手脚架使用和组件父子间通信-插槽(Options API)学习笔记
30 3
|
2月前
|
缓存 监控 测试技术
ERP系统对接方案与API接口封装系列(高并发)
企业资源规划(ERP)系统是现代企业管理的核心,它集成了企业内部的各个部门和业务流程。为了实现ERP系统与其他外部系统或应用程序之间的数据交换和协作,需要对接方案。API(应用程序编程接口)是实现系统对接的常用方法之一。
|
2月前
|
人工智能 小程序 大数据
【社区每周】交易组件新增API接口及产品面对面即将开播(5.29-6.2)
【社区每周】交易组件新增API接口及产品面对面即将开播(5.29-6.2)
126 0
|
3月前
|
前端开发 JavaScript 小程序
【uniapp】十分钟带你封装uniapp的api请求
【uniapp】十分钟带你封装uniapp的api请求
130 0
|
4月前
|
API 开发工具 开发者
通过解析封装关键词搜索速卖通商品列表数据接口,速卖通API接口
通过解析封装关键词搜索速卖通商品列表数据接口,速卖通API接口
33 0
|
4月前
|
XML JSON 安全
uni-app API请求封装:让接口调用更加简单高效
在进行uni-app开发时,网络请求是必不可少的环节。为了方便开发,我们可以封装一些网络请求方法,以便在多个页面中复用,并且可以统一处理错误信息等问题,提高开发效率和代码质量。本文将介绍如何封装网络请求方法。
361 0
uni-app API请求封装:让接口调用更加简单高效
|
4月前
|
搜索推荐 机器人 API
item_get API在未来是否会支持更多的移动设备平台,提供更加便捷的移动购物体验?
随着移动互联网的普及和快速发展,移动购物已经成为消费者购物的主要方式之一。为了满足用户对于便捷、快速、高效的购物体验的需求,电商平台不断优化其移动端功能和服务。item_get API作为电商平台的重要接口之一,已经在PC端为卖家和买家提供了丰富的商品信息获取功能。然而,在移动设备平台上,其支持程度和便捷性还有待提高。本文将探讨item_get API在未来是否会支持更多的移动设备平台,并如何提供更加便捷的移动购物体验。