reactjs - React-Select 值中的缩进条目
问题描述
我是使用react-select 的新手。我要做的是有条件地设置选择下拉框中某些下拉项的缩进间距。看起来像这样的东西:
即,这就是我希望项目在下拉菜单框中的外观。即,如果它是一个孩子,它会从其父级缩进,而孙子级将从其父级缩进。这可能react-select
吗?如果是这样,我会怎么做?
谢谢。
解决方案
我只是有同样的问题。可悲的是,MarginLeft 不起作用。因此我从这里使用了动态间距方法:How to return a character n times before an element react
最终的代码看起来像
const recursivelyListElements = (elist, level) => {
let returnValues = []
elist.map(e => {
const spacing = Array.from(Array(4 * level), () => '\u00A0');
returnValues.push(
<option
value={e.location_id}
style={{fontSize: (24 - 4 * level) + 'px'}}
// style={{marginLeft: level + 'em', fontSize: (24 - 4*level)+ 'px'}} marginLeft does not work here
>
{spacing}
{e.title_en}
</option>
)
if (e.children && e.children.length > 0) {
returnValues.push(...recursivelyListElements(e.children, level + 1))
}
})
return returnValues
}
// ...
<select className="form-select" aria-label="Default select example">
<option selected>Open this select menu</option>
{recursivelyListElements(props.locations, 0)}
</select>
推荐阅读
- python - 统计多列子串的频率,得到阳性结果的列名
- c - 检查 C 中是否存在 .txt 文件
- ruby-on-rails - 如何使用 Rails 控制台将多个值添加到一列
- html - 如何使div中的所有位置元素居中
- ios - 反馈通知 (iOS)
- javascript - 处理剪贴板粘贴的 jquery 事件(例如使用 Clippings、clipple 扩展)
- azure - 如何设置事件网格服务(触发器)侦听资源组以在多存储帐户中不断增加存储 blob
- ruby-on-rails - wicked_pdf:生产中的 UTF-8 编码问题
- las - 寻找无需安装或 root/admin 权限的 .las 数据提取工具
- c# - 如何在没有cmd的情况下运行.net core self-contained deploy项目(运行项目后cmd不应提示)