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. java - public <T> T findOne(T record) 這是什么意思2. css - 關于ul的布局3. javascript - 前端開發 本地靜態文件頻繁修改,預覽時的緩存怎么解決?4. android - 優酷的安卓及蘋果app還在使用flash技術嗎?5. java - new + 類名,一定需要申明一個對象嗎?6. docker不顯示端口映射呢?7. mysql數據庫每次查詢是一條線程嗎?8. python - linux怎么在每天的凌晨2點執行一次這個log.py文件9. 如何分別在Windows下用Winform項模板+C#,在MacOSX下用Cocos Application項目模板+Objective-C實現一個制作游戲的空的黑窗口?10. 小程序怎么加外鏈,語句怎么寫!求救新手,開文檔沒發現
