Javascript React JS material ui itemlist对话框未关闭

Javascript React JS material ui itemlist对话框未关闭,javascript,reactjs,onclick,dialog,material-ui,Javascript,Reactjs,Onclick,Dialog,Material Ui,我正在使用材质ui进行todolist并做出反应。 我有个问题。 我试图使单击事件在单击listitem时打开一个包含详细信息的对话框。 但是,当我试图关闭对话框时,对话框没有关闭。 下面是我为测试编写的代码 从“React”导入React; 从“@material ui/core/styles”导入{makeStyles,Theme,createStyles}; 从“@material ui/core/Button”导入按钮; 从“@material ui/core/List”导入列表; 从“

我正在使用材质ui进行todolist并做出反应。 我有个问题。 我试图使单击事件在单击listitem时打开一个包含详细信息的对话框。 但是,当我试图关闭对话框时,对话框没有关闭。 下面是我为测试编写的代码

从“React”导入React;
从“@material ui/core/styles”导入{makeStyles,Theme,createStyles};
从“@material ui/core/Button”导入按钮;
从“@material ui/core/List”导入列表;
从“@material ui/core/ListItem”导入ListItem;
从“@material ui/core/ListItemAvatar”导入ListItemAvatar;
从“@material ui/core/ListItemSecondaryAction”导入ListItemSecondaryAction;
从“@material ui/core/ListItemText”导入ListItemText;
从“@material ui/core/Avatar”导入化身;
从“@material ui/core/IconButton”导入IconButton;
从“@material ui/core/Checkbox”导入复选框;
从“@material ui/icons/Delete”导入DeleteIcon;
从“@material ui/icons/KeyboardArrowDown”导入键盘箭头向下图标;
从“@material ui/icons/ConfirmationNumber”导入确认号;
从“@material ui/core/DialogTitle”导入DialogTitle;
从“@material ui/core/DialogContentText”导入DialogContentText;
从“@material ui/core/Dialog”导入对话框;
从“@material ui/core/DialogActions”导入DialogActions;
从“@material ui/core/DialogContent”导入DialogContent;
从“../common/interfaces”导入{QuestItem};
接口IProps{
任务:QuestItem |空
}
导出默认函数QuestEntry({quest}:IProps){
const[checked,setChecked]=React.useState(quest?.checked);
const[questopen,setQuestOpen]=React.useState(false);
常量handleChange=(事件:React.ChangeEvent)=>{
setChecked(event.target.checked);
};
常量handleClickOpen=()=>{
setQuestOpen(真);
};
常量handleClose=()=>{
控制台日志(“单击”);
setQuestOpen(假);
};
返回(
{checked&&(
)}
{!检查&&(
)}
任务信息
{/* 
*/}
接近
);
}

我认为鼠标关注对话框之间有联系。但是我在谷歌上找不到任何解决办法,请帮帮我

只要单击页面对话框中的任何项目,就会触发handleClickOpen

您已将
onClick={handleClickOpen}
添加到
ListItem
而不是
Avatar

只要改变一下,它就会像预期的那样工作

<ListItem button> //from here
  <ListItemAvatar> 
    <Avatar onClick={handleClickOpen}> // to here
      <KeyboardArrowDownIcon />
    </Avatar>
  </ListItemAvatar>
  <ListItemText primary={"hello"} />
 ......rest of the code
//从这里开始
//到这里
……代码的其余部分

ListItemAvatar没有onClick功能:(是否有其他方法可以为项目创建点击事件?只需添加并运行它就可以了,你也可以添加到Avatar或键盘箭头向下图标,其中任何一个都可以。但是onClick应该添加到父级,所以ListItemAvatar是最好的选择让我知道。我已经尝试过,但没有效果。它一直说ListItemAvatar没有onClick功能。这就是为什么。)荒谬的是,你试过阿凡达是因为它对我有用。这是你代码的工作示例哦,我一直在试ListItemAvatar。很抱歉没有仔细看。