【发布时间】:2019-05-12 20:17:53
【问题描述】:
我正在研究数据表组件的渲染方法,我必须在其中过滤一些标题。
我有这个:
<TableRow>
{headers.map(header =>
checkboxes.map(checkbox =>
// HERE I NEED TO FILTER IT
checkbox.value === header.key && checkbox.checked && (
<TableHeader {...getHeaderProps({ header })}>
{header.header}
</TableHeader>
),
),
)}
</TableRow>
您在上面看到的checkbox.checked 返回true 或false,我需要2 个键来忽略这些条件。条件是否满足并不重要。
我在这里检查checkbox 和header 的值是否相同checkbox.value === header.key,但我需要排除header.key 2 个header.key === device 和header.key === ticketNumber。
所以我需要做类似的事情:
<TableRow>
{headers.map(header =>
checkboxes.map(checkbox =>
// HERE I NEED TO FILTER IT
checkbox.value === header.key && checkbox.checked && (ignore header.key === 'device' && header.key === 'ticketNumber' from the conditionals above) (
<TableHeader {...getHeaderProps({ header })}>
{header.header}
</TableHeader>
),
),
)}
</TableRow>
我的意思是,我在上面的代码中提到的那 2 个标头不应该从 UI 中隐藏。当满足此条件checkbox.value === header.key && checkbox.checked 时,它将隐藏所有带有checkbox.checked === true 的标题,但我需要一个适当的条件/函数来忽略标题键header.key === device 和header.key === ticketNumber。这两个标题应该始终存在于 UI 中。
我用的是lodash,不知道那里能不能用,还有其他选择吗?
【问题讨论】:
-
所以使用array.filter().map()
标签: javascript reactjs ecmascript-6 lodash