suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript – So steuern Sie den Modellwechsel mithilfe des AntD-Modells in React

So steuern Sie den Modellwechsel mithilfe des AntD-Modells in React

Übergeordnete Primärschlüsselkomponente, die Attribute übergibt

<AdvSimpleInfo visible={this.state.advSimpleInfoModel.visible}/>

advSimpleInfoModel-Statusobjekt der übergeordneten Komponente

advSimpleInfoModel: {
   visible: false
 }

Unterprimärschlüssel

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 title="广告简单信息"
          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>
    );
  }
}

Die Eigenschaft der Unterkomponente ändert den übergebenen Wert, aber das Popup-Fenster kann nicht angezeigt werden

visible={this.props.visible}
给我你的怀抱给我你的怀抱2736 Tage vor991

Antworte allen(2)Ich werde antworten

  • 我想大声告诉你

    我想大声告诉你2017-06-05 11:13:44

    看不到改变state里面的visible的方法呀。不够详细唉。

    Antwort
    0
  • 某草草

    某草草2017-06-05 11:13:44

    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
              title="Basic 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);

    Antwort
    0
  • StornierenAntwort