Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 如何在react中的两个列表项之间切换类名_Css_Reactjs_Forms_Validation_Html Lists - Fatal编程技术网

Css 如何在react中的两个列表项之间切换类名

Css 如何在react中的两个列表项之间切换类名,css,reactjs,forms,validation,html-lists,Css,Reactjs,Forms,Validation,Html Lists,我有一份联合国订单。如果单击li 1,className=“selected”将分配给它。如果单击li 2,className=“selected”将被分配给它,className=“selected”将从li 1中删除。我该怎么做?提前谢谢你的帮助 <ul> <li role="option" aria-selected="false"> yes </li> <

我有一份联合国订单。如果单击li 1,className=“selected”将分配给它。如果单击li 2,className=“selected”将被分配给它,className=“selected”将从li 1中删除。我该怎么做?提前谢谢你的帮助

 <ul>
      <li role="option" aria-selected="false">
        yes
      </li>
      <li role="option" aria-selected="false">
        no
      </li>
  </ul>

您需要一个状态变量来保持当前选定的项目。然后对照状态变量检查每个li

 const selectionArray = ['yes', 'no'];
  const [selectedITem, setSelectedItem] = useState('yes');
  return (
    <ul>
      {selectionArray.map((item) => {
        return (
          <li
            onClick={() => {
              setSelectedItem(item);
            }}
            className={selectedITem === item ? 'selected' : ''}
            key={'selection-' + item}
            role="option"
            aria-selected="false"
          >
            {item}
          </li>
        );
      })}
    </ul>
  );
const selectionArray=[“是”、“否”];
const[selectedITem,setSelectedItem]=useState('yes');
返回(
    {selectionaray.map((项)=>{ 返回(
  • { setSelectedItem(项目); }} className={selectedITem==项目?'selected':'''} 键={'selection-'+item} role=“option” aria selected=“false” > {item}
  • ); })}
);
需要在单击li时调用函数并在li中添加值,然后您将获得li的值。见下文:

const [selectedMenu, setSelectedMenu] = useState([]);

  function onClickMenu(e) {
   console.log("val:", e.target.value)
   setSelectedMenu(e.target.value)
  }

   <ul>
    <li role="option" value="1" aria-selected="false" onClick={(e) => onClickMenu(e)} 
    className={selectedMenu === 1 ? 'selected' : ''}>
      yes
    </li>
    <li role="option" value="2" onClick={(e) => onClickMenu(e)}  aria-selected="false" className={selectedMenu === 2 ? 'selected' : ''}>
      no
    </li>
  </ul>
const[selectedmens,setselectedmens]=useState([]);
功能菜单(e){
console.log(“val:,e.target.value)
设置选定菜单(如目标值)
}
  • onClickMenu(e)} className={selectedMenu==1?'selected':''}> 对
  • onClickMenu(e)}aria selected=“false”className={selectedMenu==2?selected':'}> 不