This commit is contained in:
caishi 2023-02-06 11:13:27 +08:00
parent 29531e8c0b
commit b6fd4e6c39
2 changed files with 71 additions and 37 deletions

View File

@ -1,40 +1,67 @@
import React from 'react';
import React ,{ useImperativeHandle ,forwardRef , useState } from 'react';
import { Dropdown , Icon , Menu } from 'antd';
function Menus(){
const dropmenu=[
{
name:"发布人",
menu:["caishi","he","xiao","jiang"]
},
{
name:"标记",
menu:["caishi","he","xiao","jiang"]
},
{
name:"里程碑",
menu:["caishi","he","xiao","jiang"]
},
{
name:"负责人",
menu:["caishi","he","xiao","jiang"]
},
{
name:"状态",
menu:["caishi","he","xiao","jiang"]
},
{
name:"排序",
menu:["caishi","he","xiao","jiang"]
}
]
const menus=[
{
id:1,
name:"发布人",
choose:0,
menu:["caishi","he","xiao","jiang"]
},
{
id:2,
name:"标记",
choose:0,
menu:["caishi","he","xiao","jiang"]
},
{
id:3,
name:"里程碑",
choose:0,
menu:["caishi","he","xiao","jiang"]
},
{
id:4,
name:"负责人",
choose:0,
menu:["caishi","he","xiao","jiang"]
},
{
id:5,
name:"状态",
choose:0,
menu:["新增","正在解决","已解决","反馈","关闭","拒绝"]
},
{
id:6,
name:"排序",
choose:0,
menu:["最新创建","最早创建","最近更新","最早更新","高优先级","低优先级"]
}
]
function Menus(props,ref){
const [ dropmenu , setDropMenu ] = useState(menus);
function menu(menu){
useImperativeHandle(ref, () => ({
clearChoose: () => {
// dropmenuchoose0
changeMenusValue(0);
}
}))
// menus
function changeMenusValue(value,id){
let todoList = [...dropmenu];
let list = todoList.map((item,key)=>id ? item : {...item,choose:value});
setDropMenu(list);
}
function menu(menu,choose){
if(menu && menu.length>0){
return <Menu>
return <Menu selectedKeys={[`${choose}`]}>
{
menu.map((i,j)=>{
return <Menu.Item key={j}>{i}</Menu.Item>
return <Menu.Item key={j+1} value={j}>{i}</Menu.Item>
})
}
</Menu>
@ -49,7 +76,7 @@ function Menus(){
{
dropmenu.map((item,i)=>{
return(
<Dropdown overlay={menu(item.menu)} trigger={['click']} placement="bottomRight" arrow={{pointAtCenter: true}}>
<Dropdown overlay={menu(item.menu,item.choose)} trigger={['click']} placement="bottomRight" arrow={{pointAtCenter: true}}>
<li><span className="task-hide">{item.name}</span><Icon type="caret-down" className="ml5 color-grey-6" /></li>
</Dropdown>
)
@ -59,4 +86,4 @@ function Menus(){
:<div></div>
)
}
export default Menus;
export default forwardRef(Menus);

View File

@ -1,4 +1,4 @@
import React from 'react';
import React , { useRef } from 'react';
import { Dropdown , Menu , Icon , Input , Checkbox , Pagination } from 'antd';
import bj from '../Img/biaoji.png';
import create from '../Img/create.png';
@ -9,7 +9,7 @@ const { Search } = Input;
function List(props){
const menuRef = useRef(null);
const menu = (
<Menu>
<Menu.Item key={0}>全部</Menu.Item>
@ -20,6 +20,13 @@ function List(props){
</Menu>
)
//
function clearCondition(){
//
menuRef.current && menuRef.current.clearChoose();
//
}
return(
<div>
@ -33,7 +40,7 @@ function List(props){
onSearch={value => console.log(value)}
style={{ width: 354 , height : 32 , marginLeft: 20 }}
/>
<a className="color-blue ml25" style={{ display: "flex" , alignItems: "center"}}><i className="iconfont icon-roundclose font-16 mr5"></i>清除筛选条件</a>
<a className="color-blue ml25" onClick={clearCondition} style={{ display: "flex" , alignItems: "center"}}><i className="iconfont icon-roundclose font-16 mr5"></i>清除筛选条件</a>
</div>
<div>
<Link to="" className="dorpdownButton"><img src={bj} alt="" className="mr5" />标记管理</Link>
@ -48,7 +55,7 @@ function List(props){
<li>开启中<span>111</span></li>
<li>已关闭<span>111</span></li>
</ul>
<Menus />
<Menus ref={menuRef}/>
</div>
<Datas />
<div className="pt25 pb30" style={{textAlign:"right"}}>