定义的json数据
拿到你定义数据的接口在随便定义个名字 (我用async和await了)
在页面引入
使用代码(和点击弹出框)
import { Button, Dropdown, Menu, span, Modal, message } from 'antd';
import { connect, injectIntl, FormattedMessage } from 'umi';
import React, { Component, useState } from 'react';
import { outLogin111 } from '@/services/ant-design-pro/api';
import { lodash } from '@umijs/utils';
const msg = await outLogin111();
const { SubMenu } = Menu;
// const [isModalVisible, setIsModalVisible] = useState(false);
class ActiviteList extends Component {
constructor(props) {
super(props)
this.state = {
search: false,
Adata: []
};
}
add(ite) {
let state = this.state
let it = '名字:' + ite.name + '————' + '序号:' + ite.number + '————' + '路由:' + ite.routing
this.setState({ ...state, search: true, Adata: it })
}
handleCancel() {
message.success('您已确定!', 3)
let t = this.state
this.setState({ ...t, search: false })
}
cancel() {
message.error("您取消了!", 3)
let t = this.state
this.setState({ ...t, search: false })
}
render() {
return [(
<div>
{
msg.data.content.map((item) => {
// console.log(key);
return (
<Menu mode="inline" style={{ width: 256 }}>
<SubMenu onClick={() => {
console.log(item.number);
}} title={item.name}>
{
item.TheChild.map((ite, index) => {
// console.log(ite.name);
return (
<Menu.Item onClick={
this.add.bind(this, ite)
} key={index}>{ite.name}</Menu.Item>
)
})
}
</SubMenu>
</Menu>
)
})
}
</div>),
(<Modal title="Basic Modal" centered='false' visible={this.state.search} onCancel={this.cancel.bind(this)} onOk={this.handleCancel.bind(this)}>
<p>{this.state.Adata}</p>
</Modal>)
]
}
}
export default injectIntl(ActiviteList);
样式图