将鼠标悬停在选项元素上?
Hover on an option element?
我可以将鼠标悬停在选项元素上以显示更多选项吗?
我想要一个像下面截图一样的下拉嵌套组件
我有这个对象数组并将其传递给 DropDown 组件,如果第一个对象有一个名为 modules 的字段并且它有一个包含两个对象的数组,我如何将它显示为嵌套下拉列表?
index.js
import React from "react";
import ReactDOM from "react-dom";
import DropDown from "./DropDown";
const availableModules = [
{
text: "environment",
value: "Environment",
modules: [{ key: "greenhouse" }, { key: "protected species" }],
},
{
text: "mobility",
value: "Mobility",
modules: [
{ key: "walk accessibility" },
{ key: "transit accessibility" },
{ key: "travel patterns" },
],
},
{
text: "resiliency",
value: "Resiliency",
modules: [{ key: "flood" }, { key: "fire" }, { key: "earthquake" }],
},
];
ReactDOM.render(
<DropDown availableModules={availableModules} />,
document.getElementById("root")
);
Dropdown.js
const DropDown = ({availableModules}) => {
return (
<div>
<p>Select Option </p>
<select >
{availableModules.map((item, index) => (
<option
value={item.text}
key={index}
>
{item.text}
</option>
))}
</select>
</div>
)
}
是的,你可以。只需渲染整个 div 结构,包括所有 UL 和 LI,并使用 css 到 show/hide 菜单和子菜单。
不需要为此使用状态 - showing/hiding 通过 css 并通过 css 检测悬停 - css 单独可以处理工作。
在所需的 LI 项目上,按正常方式添加点击处理程序。
<li
onClick={handleDoThisParticularThing}
>
This particular item
</li>
网上有很多例子。只是 google 类似 create a nested menu system css
https://css-tricks.com/solved-with-css-dropdown-menus/
https://www.smashingmagazine.com/2017/11/building-accessible-menu-systems/
我可以将鼠标悬停在选项元素上以显示更多选项吗? 我想要一个像下面截图一样的下拉嵌套组件
我有这个对象数组并将其传递给 DropDown 组件,如果第一个对象有一个名为 modules 的字段并且它有一个包含两个对象的数组,我如何将它显示为嵌套下拉列表?
index.js
import React from "react";
import ReactDOM from "react-dom";
import DropDown from "./DropDown";
const availableModules = [
{
text: "environment",
value: "Environment",
modules: [{ key: "greenhouse" }, { key: "protected species" }],
},
{
text: "mobility",
value: "Mobility",
modules: [
{ key: "walk accessibility" },
{ key: "transit accessibility" },
{ key: "travel patterns" },
],
},
{
text: "resiliency",
value: "Resiliency",
modules: [{ key: "flood" }, { key: "fire" }, { key: "earthquake" }],
},
];
ReactDOM.render(
<DropDown availableModules={availableModules} />,
document.getElementById("root")
);
Dropdown.js
const DropDown = ({availableModules}) => {
return (
<div>
<p>Select Option </p>
<select >
{availableModules.map((item, index) => (
<option
value={item.text}
key={index}
>
{item.text}
</option>
))}
</select>
</div>
)
}
是的,你可以。只需渲染整个 div 结构,包括所有 UL 和 LI,并使用 css 到 show/hide 菜单和子菜单。
不需要为此使用状态 - showing/hiding 通过 css 并通过 css 检测悬停 - css 单独可以处理工作。
在所需的 LI 项目上,按正常方式添加点击处理程序。
<li
onClick={handleDoThisParticularThing}
>
This particular item
</li>
网上有很多例子。只是 google 类似 create a nested menu system css
https://css-tricks.com/solved-with-css-dropdown-menus/
https://www.smashingmagazine.com/2017/11/building-accessible-menu-systems/