首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

无法在Ant Modal中访问this.setState或this.state确认确定/取消功能

在Ant Modal中无法直接访问this.setState或this.state的原因是,Modal组件是通过React的Portal机制将其渲染到DOM树的其他位置,而不是直接作为组件的子元素。因此,在Modal组件中无法直接访问父组件的状态或方法。

要在Ant Modal中实现确认/取消功能,可以采取以下几种方式:

  1. 使用React的Context API:通过创建一个Context,在父组件中定义状态和方法,并通过Context.Provider将其传递给Modal组件。在Modal组件中,使用Context.Consumer来访问父组件的状态和方法,从而实现确认/取消功能。
  2. 使用回调函数:在父组件中定义一个回调函数,将其作为props传递给Modal组件。在Modal组件中,通过调用该回调函数来更新父组件的状态,从而实现确认/取消功能。
  3. 使用Redux或MobX等状态管理库:在父组件中使用状态管理库来管理状态,并将状态和相关的操作方法通过props传递给Modal组件。在Modal组件中,通过调用相关的操作方法来更新状态,从而实现确认/取消功能。

无论采用哪种方式,都需要在父组件中定义状态和相关的操作方法,并将其传递给Modal组件。具体的实现方式可以根据项目需求和个人偏好进行选择。

关于Ant Design的相关组件和文档,可以参考腾讯云的Ant Design官方文档:https://ant.design/components/modal-cn/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何让用户选择是否离开当前页面?

当前页面不会直接关闭,可以点击确定按钮关闭刷新,也可以取消关闭刷新。...⚠️:HTML规范指出在此事件调用window.alert(),window.confirm()以及window.prompt()方法,可能会失效 实践一下 微信公众号编辑器界面,输入一部分内容后,...那么很简单,我们使用antd的Modal组件,以及lodash的deepclone(深拷贝)、_.isEqual(value, other)执行深比较来确定两者的值是否相等。...true; this.setState({ modalVisible: false, }); //进行保存操作的处理,这里可以换成自己点击确认后需要做的操作... ` 结束语 遇到问题时候,应该先搜索引擎一波,准确的来说,你的月薪50K以下,都应该多考虑使用别人的轮子/改造别人的轮子,前端发展到现在已经技术基本稳定

2.1K30
  • React后台管理前端系统(基于开源框架开发)起步式

    这个系统的搭建背景是这样的,有一个朋友想看到现有系统的一些,用户数据,新闻数据,只需要看到,短期不需要增删改功能,让我搭建一个简单的后台系统给他看.接到任务作为一个有四年开发经验的人来说这也太简单了吧...但是要从零搭建,时间上划不来,因为需要集成很多东西,基础建设就要耗费很长时间.于是乎GitHub上一顿搜,Ok 找到了二个比较可靠的项目使用,一个是 ant-design-pro 另一个是antd-admin...二个项目大同小异, 使用的技术栈react,ant-design,dva,Mock 基于 Antd UI 设计语言 虽然我对dva和ant-design 了解不深,但我还是准备挑战一下.不入虎穴焉得虎子...每个页面组件都有可能是两个更多个组件,组合而来的,而组件的参数也是错综复杂,组件的表现,事件都是有这些参数控制的.除了简单理解这些参数,还需要理解这些组件是怎么组合起来的....; this.setState({ expandForm: !

    1.9K20

    React进阶(5)-分离容器组件,UI组件(无状态组件)

    Redux实现了一个todolist,但是代码依旧不够完美,我们继续进行拆分的 本节,你将学习到,如何拆分容器组件,UI组件(无状态组件),让组件尽可能的保持功能的单一,减少组件的状态的 容器组件...(聪明组件) 使用Redux,无非就是做两件事情 如何获取store的状态(组件通过getState方法获取),并且初始化组件的状态(Reducer纯函数初始化),同时还需要监听store...,让每个组件只专注的做自己的事情 例如:我们上几节代码的Todolist的代码,尽管我们把数据已经抽离放到store当中进行存储了的,但是依旧有许多逻辑,组件的渲染都杂糅一个文件当中的 如下代码所示...组件内部通过getState()方法就可以拿到store里面的数据         this.state = store.getState();         // this环境的绑定         ...结语 React,对于组件的职责功能划分,并没有严格的条条框框限定,这也并不是React独有的功能,父组件获取状态数据,而通过自定义属性props的方式,组件内部通过this.props或者

    1.4K00

    React进阶(3)-上手实践Redux-如何改变store的数据

    reducer函数接收的第二个参数action就是接下来要干的事情了 Redux为了能够查看store的各个状态,chrome浏览器需先安装一个redux Devtools这个调试工具 当然安装这个插件...,第二种方法比较强大,推荐使用,这种配置完后,各个浏览器都是可以使用的,至于其他一些额外拓展功能的,在后续的文章,会不断会讲到 具体更改store的实例代码如下所示: import React from...组件内部通过getState()方法就可以拿到store里面的数据         this.state = store.getState();         // this环境的绑定         ...当执行上述的操作后,当组件想要感知store的变化,需要在constructor函数内或者componentWillMount(react17版本中将会被废弃)componentDidMount生命周期函数内调用...最后组件移除时,销毁时,componentWillUnmount取消store的订阅事件 // 组件卸载,移除时调用该函数,一般取消,清理已注册的订阅,定时器的清理,取消网络请求,在这里面操作

    2.6K30

    Ant Design Vue Modal组件的使用及踩的坑

    Modal } from 'ant-design-vue'; Antd 的安装和配置我就不赘述了,详情见官方API: vue-cli 3 中使用 使用之前,必须要先注册组件: Vue.component...width="80%" 确定按钮文字: okText="确认" 取消按钮文字: cancelText="取消" 禁止点击蒙层(遮罩)关闭: :maskClosable="false" 确认按钮样式:...okType="link" 确认按钮样式,同 Button ,有 primary dashed danger link 四种样式 嗯,Antd 只有确认按钮的自定义样式,取消按钮没有,那么就会出现下面这样的情况...然后给按钮绑定“确定”和“取消”事件。...确定:@click="handleOk" 取消:@click="handleCancle" 以我上图的样式为例: .Vue 代码:     <a-modal :closable="

    22.6K32

    React进阶(5)-分离容器组件,UI组件(无状态组件)

    Redux实现了一个todolist,但是代码依旧不够完美,我们继续进行拆分的 本节,你将学习到,如何拆分容器组件,UI组件(无状态组件),让组件尽可能的保持功能的单一,减少组件的状态的 · 正...· 文 · 来 · 啦 · ♚ 容器组件(聪明组件) 使用Redux,无非就是做两件事情 如何获取store的状态(组件通过getState方法获取),并且初始化组件的状态(Reducer...组件内部通过getState()方法就可以拿到store里面的数据 this.state = store.getState(); // this环境的绑定...关于state状态通过容器组件来获取,然后通过props传递给UI组件,让组件更少的涉及到状态的维护,避免分散各个组件 结语 React,对于组件的职责功能划分,并没有严格的条条框框限定,这也并不是...React独有的功能,父组件获取状态数据,而通过自定义属性props的方式,组件内部通过this.props或者props进行接收,这样能够减少组件的状态分散各处的 【自我介绍】 作者:川川

    95710

    2022高频前端面试题(附答案)

    类组件(Class component)和函数式组件(Functional component)之间有何不同类组件不仅允许你使用更多额外的功能,如组件自身的状态和生命周期钩子,也能使组件直接访问 store...如果确定在 state props 更新后组件不需要在重新渲染,则可以返回false,这是一个提高性能的方法。...componentDidUpdate:它主要用于更新DOM以响应propsstate更改。componentWillUnmount:它用于取消任何的网络请求,删除与组件关联的所有事件监听器。...一般情况下,只有不支持 HTML5 history API 的浏览器中使用此功能;getUserConfirmation 用于确认导航的函数,默认使用 window.confirm。...例如,当从 /a 导航至 /b 时,会使用默认的 confirm 函数弹出一个提示,用户点击确定后才进行导航,否则不做任何处理;// 这是默认的确认函数const getConfirmation = (

    2.4K40

    React进阶(3)-上手实践Redux-如何改变store的数据

    reducer函数接收的第二个参数action就是接下来要干的事情了 Redux为了能够查看store的各个状态,chrome浏览器需先安装一个redux Devtools这个调试工具 当然安装这个插件...,第二种方法比较强大,推荐使用,这种配置完后,各个浏览器都是可以使用的,至于其他一些额外拓展功能的,在后续的文章,会不断会讲到 具体更改store的实例代码如下所示: import React from...组件内部通过getState()方法就可以拿到store里面的数据 this.state = store.getState(); // this环境的绑定...当执行上述的操作后,当组件想要感知store的变化,需要在constructor函数内或者componentWillMount(react17版本中将会被废弃)componentDidMount生命周期函数内调用...最后组件移除时,销毁时,componentWillUnmount取消store的订阅事件 // 组件卸载,移除时调用该函数,一般取消,清理已注册的订阅,定时器的清理,取消网络请求,在这里面操作

    2.2K20

    Sweet Alert弹窗插件的安装及使用详解笔记

    通过设置 dangerMode 为 true ,焦点将在“取消”按钮而不是“确认”按钮上,并且“确认”按钮将为红色以强调危险操作。 swal({     title: "你确定吗?"...如果要显示并自定义取消按钮,可以设置 buttons 为一个字符串数组,其中第一个值是“取消”按钮的文本,第二个值是“确认”按钮的文本: swal("你确定要这么做吗?"...在上面的示例,我们了解到如何将 content 选项值设置 "input" ,模态框中加入 元素,该元素根据输入的值,变换“确认”按钮需要的解析值。...    ) JSX 语法取代了 modal 的 content 选项,您仍然可以使用 SweetAlert 的其他功能。 ...您可以只传入一个字符串(默认情况下它会更改确认按钮的值)一个对象。

    9.2K10

    React进阶(4)-拆分Redux-将store,Reducer,action,actionTypes独立管理

    image.png 前言 在前面的几小节已经完成了一个todolist的添加,删除的操作,通过把组件的数据放到了Redux的公共存储区域store中去存储,Redux中进行状态数据的更新修改...组件内部通过getState()方法就可以拿到store里面的数据 this.state = store.getState(); // this环境的绑定...组件内部通过getState()方法就可以拿到store里面的数据         this.state = store.getState();         // this环境的绑定         ...组件内部通过getState()方法就可以拿到store里面的数据         this.state = store.getState();         // this环境的绑定         ...实际开发当中,至于拆分的顺序,不一定按照我这种方式的,合适的流程应当时,先创建store,然后创建reducer,确定要做什么事情,编写action,拆分action代码,其中获取store就用

    1.9K11

    React进阶(4)-拆分Redux-将store,Reducer,action,actionTypes独立管理

    撰文 | 川川 前言 撰文:川川 在前面的几小节已经完成了一个todolist的添加,删除的操作,通过把组件的数据放到了Redux的公共存储区域store中去存储,Redux中进行状态数据的更新修改...组件内部通过getState()方法就可以拿到store里面的数据 this.state = store.getState(); // this环境的绑定...组件内部通过getState()方法就可以拿到store里面的数据 this.state = store.getState(); // this环境的绑定...组件内部通过getState()方法就可以拿到store里面的数据 this.state = store.getState(); // this环境的绑定...实际开发当中,至于拆分的顺序,不一定按照我这种方式的,合适的流程应当时,先创建store,然后创建reducer,确定要做什么事情,编写action,拆分action代码,其中获取store就用getState

    1.7K10

    浅谈 React 组件设计

    封装 DOM 结构 一些最简单无脑的 jQuery 插件,它们一般会将 DOM 结构直接写死到插件,这样的插件拿来即用,但限制也比较大,我们无法修改插件的 DOM 结构。...很明显,我们开发应当使用松耦合的方式来设计组件,这样不仅提供了复用性,还方便了测试。...这就是 Ant Design 的实现思路。 在前面数据解耦我们就讲过了类似的思路,实际上数据解耦和结构自由是相辅相成的。...设计一个组件的时候,很多人往往会陷入一种怪圈,那就是我该怎么才能封装更多功能?怎么才能兼容不同的渲染? 这时候我们就不妨换一种思路,如果将渲染交给使用者来控制呢?...组件设计的学习,你需要多探索、实践,多去参考社区知名的组件库,比如 Ant Design、Element UI、iview 等等,去思考他们为什么会这样设计,有没有更好的设计?

    1.1K10
    领券