Javascript 根据状态,是否需要填充图标?

Javascript 根据状态,是否需要填充图标?,javascript,angularjs,reactjs,mapping,Javascript,Angularjs,Reactjs,Mapping,根据状态号,我需要填充“批准”和“拒绝”图标。在响应中,您可以看到响应编号,其中状态为1。我需要填充图标 this.state = { listapproval: { contracts: '', }, } 状态变量listapproval的响应如图所示。 我得到了回应 import React,{Component}来自“React”; 从“反应路由器”导入{Link,browserHistory}; 将*作为TemplateAction从“../

根据状态号,我需要填充“批准”和“拒绝”图标。在响应中,您可以看到响应编号,其中状态为1。我需要填充图标

this.state = {
 listapproval: {
            contracts: '',
        },
}
状态变量listapproval的响应如图所示。 我得到了回应

import React,{Component}来自“React”;
从“反应路由器”导入{Link,browserHistory};
将*作为TemplateAction从“../../actions/TemplateAction.jsx”导入;
从“../../store/TemplateStore.jsx”导入TemplateStore;
将*作为ClientAction从“../../actions/ClientAction.jsx”导入;
从“../../store/ClientStore.jsx”导入ClientStore;
将*作为ContractAction从“../../actions/ContractAction.jsx”导入;
从“../../store/ContractStore.jsx”导入ContractStore;
从“../../actions/UserAction.jsx”导入*作为UserAction;
从“../../store/UserStore.jsx”导入UserStore;
从“材料界面/对话框”导入对话框;
导出默认类ClickableRenderer扩展组件{
建造师(道具){
超级(道具);
此.state={
单元格:{
行:this.props.value,
上校:这个。道具。科里夫·海德名字
},
文本:“”,
OpenDialog:false,
openrejectedcomment:false,
合同清单:{
},
单一合同:{
合同:{
拒绝原因:“”
}
},
拒绝单一合同:{
合同:{
拒绝原因:“”
}
},
客户详细信息:[],
列表批准:{
合同:[],
},
用户角色列表:{
用户:{
角色:{
权限:[],
名称:“”,
},
}
},
};
this.clicked=this.clicked.bind(this);
this.rejectClicked=this.rejectClicked.bind(this);
this.\u templateStoreChange=this.\u templateStoreChange.bind(this);
this.\u contractStoreChange=this.\u contractStoreChange.bind(this);
this.\u clientStoreChange=this.\u clientStoreChange.bind(this);
this.\u handleContractSelection=this.\u handleContractSelection.bind(this);
this.\u getSingleContract=this.\u getSingleContract.bind(this);
this.\u userStoreChange=this.\u userStoreChange.bind(this);
this.handleChange=this.handleChange.bind(this);
}
组件willmount(){
TemplateStore.on('change',this.\u templateStoreChange);
ContractStore.on('change',this.\u contractStoreChange);
ClientStore.on('change',this.\u clientStoreChange);
UserStore.on('change',this.\u userStoreChange);
}
组件将卸载(){
TemplateStore.removeListener('change',this.\u templateStoreChange);
ContractStore.removeListener('change',this.\u contractStoreChange);
ClientStore.removeListener('change',this.\u clientStoreChange);
UserStore.removeListener('change',this.\u userStoreChange);
}
componentDidMount(){
合同行动。_getContractList();
用户操作。_getUserRolesList();
合同行动。_getListApprovals();
}
_templateStoreChange(类型){
如果(类型=='OrganizationList'){
让organizationlist=TemplateStore._GetOrganizationDetailsList()| |{};
this.setState({organizationlist});
}
如果(类型=='TemplateList'){
让templatelist=TemplateStore._getTemplateDetailsList()| |{};
this.setState({templatelist});
}
}
_clientStoreChange(类型){
如果(类型=='ClientList'){
让clientdetails=ClientStore._getClientDeatilsList()| |{};
this.setState({clientdetails});
}
}
_contractStoreChange(类型){
如果(类型==“合同列表”){
让contractlist=ContractStore._getContractDetailsList()| |{};
this.setState({contractlist});
}
如果(类型==“SingleContract”){
让singlecontract=ContractStore._getSingleContractDetails();
this.setState({singlecontract});
}
如果(类型==“ListApprovals”){
让listapproval=ContractStore._GetApprovalList()| |{};
this.setState({listproval});
}
如果(类型=='RejectionSingleContract'){
让rejectionsinglecontract=ContractStore._rejectionsinglecontract()| |{};
此.setState({rejectionsinglecontract});
}
}
_userStoreChange(类型){
如果(类型=='UserList'){
让userdetails=UserStore._getUserDetailsList()| |{};
this.setState({userdetails});
}
如果(类型=='RolesList'){
让roleslist=UserStore._getRolesList()| |{};
this.setState({roleslist});
}
如果(类型=='UserRolesList'){
让userroleslist=UserStore._getUserRolesList()| |{};
this.setState({userroleslist});
}
}
_getSingleContract(id){
让数据={
id:this.state.cell.row,
};
setItem(“constractdforview”,data.id);
合同行动.\u获取单一合同(数据);
}
render(){
让roleslist=this.state.userroleslist.user.role.permission | |{};
让userroleslistname=this.state.userroleslist.user.role.name;
让listapproval=this.state.listapproval.contracts;
console.log(listproval);
让statusaprove=listproval&&listproval.map(statusnum=>(statusnum.status))|{};
console.log(statusaprve);
返回(
{
角色列表.map((角色)=>{
if(roles.moduleName==“合同”&&roles.permissionName==“读取”){
返回(
)
}
})
}
{statusaprve===1?
:null}
{statusaprve===1?
:null}
);
}
}
StatusAprove变量具有下图所示的以下状态,我正在尝试填充approve an
import React, { Component } from "react";
import { Link, browserHistory } from 'react-router';
   import * as TemplateAction from '../../actions/templateAction.jsx';
import TemplateStore from '../../store/templateStore.jsx';
import * as ClientAction from '../../actions/clientAction.jsx';
 import ClientStore from '../../store/clientStore.jsx';
import * as ContractAction from '../../actions/contractAction.jsx';
import ContractStore from '../../store/contractStore.jsx';
import * as UserAction from '../../actions/userAction.jsx';
import UserStore from '../../store/userStore.jsx';
import Dialog from 'material-ui/Dialog';

export default class ClickableRenderer extends Component {
constructor(props) {
    super(props);

    this.state = {
        cell: {
            row: this.props.value,
            col: this.props.colDef.headerName
        },
        text: '',
        openrejectDialog: false,
        openrejectedcomment: false,
        contractlist: {

        },
        singlecontract: {
            contract: {
                rejectionReason: ''
            }
        },

        rejectionsinglecontract: {
            contract: {
                rejectionReason: ''
            }
        },
        clientdetails: [],
        listapproval: {
            contracts: [],
        },
        userroleslist: {
            user: {
                role: {
                    permission: [],
                    name: '',
                },
            }
        },
    };

    this.clicked = this.clicked.bind(this);
    this.rejectClicked = this.rejectClicked.bind(this);
    this._templateStoreChange = this._templateStoreChange.bind(this);
    this._contractStoreChange = this._contractStoreChange.bind(this);
    this._clientStoreChange = this._clientStoreChange.bind(this);
    this._handleContractSelection = this._handleContractSelection.bind(this);
    this._getSingleContract = this._getSingleContract.bind(this);
    this._userStoreChange = this._userStoreChange.bind(this);
    this.handleChange = this.handleChange.bind(this);

}

componentWillMount() {
    TemplateStore.on('change', this._templateStoreChange);
    ContractStore.on('change', this._contractStoreChange);
    ClientStore.on('change', this._clientStoreChange);
    UserStore.on('change', this._userStoreChange);
}

componentWillUnmount() {
    TemplateStore.removeListener('change', this._templateStoreChange);
    ContractStore.removeListener('change', this._contractStoreChange);
    ClientStore.removeListener('change', this._clientStoreChange);
    UserStore.removeListener('change', this._userStoreChange);
}

componentDidMount() {
    ContractAction._getContractList();
    UserAction._getUserRolesList();
    ContractAction._getListApprovals();
}

_templateStoreChange(type) {
    if (type == 'OrganizationList') {
        let organizationlist = TemplateStore._getOrganizionDetailsList() || {};
        this.setState({ organizationlist });
    }
    if (type == 'TemplateList') {
        let templatelist = TemplateStore._getTemplateDetailsList() || {};
        this.setState({ templatelist });
    }
}

_clientStoreChange(type) {
    if (type == 'ClientList') {
        let clientdetails = ClientStore._getClientDeatilsList() || {};
        this.setState({ clientdetails });
    }
}

_contractStoreChange(type) {
    if (type == 'ContractList') {
        let contractlist = ContractStore._getContractDetailsList() || {};
        this.setState({ contractlist });
    }

    if (type == 'SingleContract') {
        let singlecontract = ContractStore._getSingleContractDetails() || {};
        this.setState({ singlecontract });

    }

    if (type == 'ListApprovals') {
        let listapproval = ContractStore._getApprovalsList() || {};

        this.setState({ listapproval });
    }

    if (type == 'RejectionSingleContract') {
        let rejectionsinglecontract = ContractStore._rejectionsinglecontract() || {};
        this.setState({ rejectionsinglecontract });

    }



}
_userStoreChange(type) {
    if (type == 'UserList') {
        let userdetails = UserStore._getUserDetailsList() || {};
        this.setState({ userdetails });
    }
    if (type == 'RolesList') {
        let roleslist = UserStore._getRolesList() || {};
        this.setState({ roleslist });
    }

    if (type == 'UserRolesList') {
        let userroleslist = UserStore._getUserRolesList() || {};
        this.setState({ userroleslist });
    }
}

 _getSingleContract(id) {

    let data = {
        id: this.state.cell.row,
    };
    localStorage.setItem("contractIdforview", data.id);
    ContractAction._getSingleContract(data);

}

render() {
    let roleslist = this.state.userroleslist.user.role.permission || {};
    let userroleslistname = this.state.userroleslist.user.role.name;
    let listapproval = this.state.listapproval.contracts;
    console.log(listapproval);
    let statusaprve = listapproval && listapproval.map(statusnum => (statusnum.status)) || {};
    console.log(statusaprve);




    return (
        <div>

            {
                roleslist.map((roles) => {
                    if (roles.moduleName == "Contracts" && roles.permissionName == "Read") {
                        return (
                            <Link to="/previewContract" title="preview" className=" mr-2" onClick={this._getSingleContract}>
                                <i className="fa fa-eye"></i>
                            </Link>

                        )
                    }
                })
            }



            {statusaprve === 1  ?
                 <a className="mr-2" title="Approve" onClick={this.clicked}><i className="fa fa-thumbs-up"></i></a>
                 : null}



            {statusaprve === 1 ?
                 <a type='button' title="Reject" className="mr-2" onClick={this._openrejectDialog.bind(this)}><i className="fa fa-ban"></i></a>
                : null}









        </div>
    );
}
}
render() {
  let roleslist = this.state.userroleslist.user.role.permission || {};
  let userroleslistname = this.state.userroleslist.user.role.name;
  let contracts = this.state.listapproval.contracts;

  return (
    <div>
      {
        roleslist.map((roles) => {
          if (roles.moduleName == "Contracts" && roles.permissionName == "Read") {
            return (
              <Link to="/previewContract" title="preview" className=" mr-2" onClick={this._getSingleContract}>
                <i className="fa fa-eye"></i>
              </Link>
            )
          }
        );

        if (contracts[this.props.value].status === 1) {
          <a 
            className="mr-2" 
            title="Approve" 
            onClick={this._approveContract}
          >
            <i className="fa fa-thumbs-up"></i>
          </a>
          <a 
            type='button' 
            title="Reject" 
            className="mr-2" 
            onClick={this._openrejectDialog.bind(this)}
          >
            <i className="fa fa-ban"></i>
          </a>
        }
      }
    </div>
  );
}