javascript - react 里使用antd model 怎么控制model 开关
问题描述
react 里使用antd model 怎么控制model 开关
父主键组件 传入属性
<AdvSimpleInfo visible={this.state.advSimpleInfoModel.visible}/>
advSimpleInfoModel 父组件state对象
advSimpleInfoModel: { visible: false }
子主键
import React from ’react’;import { Modal} from ’antd’;import Common from ’pricomp/Common’;import ’./advSimpleInfo.less’export default class AdvSimpleInfo extends React.Component { constructor(props) { super(props); this.state = { confirmLoading: false }; } showModal() { this.setState({ visible: true }); } handleOk() { let _this = this; this.setState({ Loading: true }); let params = { advertId: this.props.id }; const promise = Common.ajax(’pageQueryPrivilege’, params); promise.then(function(res) { console.log(res); }) } render() { return ( <p><Modal visible={this.props.visible} onOk={this.handleOk} confirmLoading={this.state.confirmLoading} onCancel={this.handleCancel}> <p>{this.state.ModalText}</p> <p className='adv-simple-info-warp'> <p><span>ID:</span>88888</p> <p><span>名称:</span>一个200红包</p> <p><span>状态:</span>有效</p> <p><span>库存:</span>剩余/总数</p> <p><span>广告主:</span>剩余/总数</p> <p><span>代理商:</span>剩余/总数</p> </p></Modal> </p> ); }}
子组件属性 改变了传入的值 可是弹窗不能出现
visible={this.props.visible}
问题解答
回答1:看不到改变state里面的visible的方法呀。不够详细唉。
回答2:state 和 props 傻傻分不清,你的showModal这个方法也没有绑定this,好好看看官网的例子:
import { Modal, Button } from ’antd’;class App extends React.Component { state = { visible: false } showModal = () => { this.setState({ visible: true, }); } handleOk = (e) => { console.log(e); this.setState({ visible: false, }); } handleCancel = (e) => { console.log(e); this.setState({ visible: false, }); } render() { return ( <p><Button type='primary' onClick={this.showModal}>Open</Button><Modal visible={this.state.visible} onOk={this.handleOk} onCancel={this.handleCancel}> <p>Some contents...</p> <p>Some contents...</p> <p>Some contents...</p></Modal> </p> ); }}ReactDOM.render(<App />, mountNode);
相关文章:
1. 网页爬虫 - python+requests 网页重定向求解2. pdo 写入到数据库的内容为中文的时候写入乱码3. PHP类封装的插入数据,总是插入不成功,返回false;4. python如何搜索字符串5. 如何使用mysql查询每个用户一次操作时记录的值6. 管理员编辑,这么写页面没有反应是怎么回事,我哪里弄错了?7. javascript - vue1.0在微信浏览器的兼容性?8. mysql 时间类型 字段(精确到时分秒) 怎么比较?9. javascript - onfocus="this.type=’password’",为什么不直接用type=’password’10. python3文本中超链接处理问题求助
![android-studio - 一直无法下载android studio的 安卓模拟器求助](http://www.haobala.com/attached/image/news/202310/095450fe73.jpg)