javascript - 如何在反应中删除数组选项卡中的聊天值
问题描述
tabs: [ '/home', '/about', '/chat' ];
<ResponsiveNav ppearance="subtle" justified
removable
moreText={<Icon icon="more" />}
moreProps={{ noCaret: true }}
activeKey={activePage['link']}
onSelect={onSelectTab}
onItemRemove={eventKey => {
console.log(eventKey)
}}>
{tabs.map(tab => {
const menu = menus.find(a => a.link === tab);
return <ResponsiveNav.Item key={menu ?.key} eventKey={tab}> {menu ?.label}</ResponsiveNav.Item>
})}
</ResponsiveNav>
如何'/chat'
从选项卡中删除值。我试过的是我在onItemRemove
const tabList = [...tabs]
tabList.splice(
tabList.map(item => item).indexOf(eventKey),
1
);
tabs.push(...tabList)
router.push(tabList[0] ? tabList[0] : '/')
但它不起作用。每次我单击它时,都会不断推送一个值。
解决方案
你可以使用拼接
const sample = ['/home', '/about', '/chat']
const index = sample.indexOf('/chat') // get index here
sample.splice(index,1) // delete one element at (index)
console.log(sample)
推荐阅读
- ios - 设备方向更改时 UIWindow 不旋转
- java - 使用 volley 在列表视图中解析 JSON
- data-modeling - RavenDB 建模/索引:使用参考数据进行地址验证
- arrays - INJECT: NoMethodError: undefined method `<<' for :one:Symbol
- laravel - Datepicker JS 错误 tempus-dominus Laravel 5.8
- jwt - Jwt 策略后 ExecutionContext 中缺少用户
- mikrotik - 如何 Mikrotik Hotspot 用户自动登录
- android - 在以编程方式打开位置的 Android 10 中,我得到结果代码 RESULT_CANCELED
- sql - 如何比较同一列的两行
- c++ - Type_traits *_v 变量模板实用程序命令无法编译