antd 左右滑动_使用垂直鼠标滚轮在React组件上水平滚动

当桌面窗口缩小,组件变为水平排列的Bootstrap卡片时,为没有水平鼠标滚轮的用户提供了通过垂直滚轮进行水平滚动的功能。该功能基于StackOverflow的一个解决方案,但在实际应用中,发现滚动同时影响了垂直方向,且Firefox浏览器不响应此滚动。解决方案尝试阻止默认事件并调整滚动位置,但仍有待完善。
摘要由CSDN通过智能技术生成

I have a component that resizes into a horizontal row of bootstrap cards when in a smaller desktop window. For users without a horizontal mouse wheel and not using a touchpad, I would like to allow users to scroll horizontally using their vertical mouse wheel movements when hovering over this particular component.

Here is the original StackOverflow issue I based my code off of:

https://stackoverflow.com/a/15343916/8387497

Horizontal Scroll helper component:

function horizontalScroll (event) {

const delta = Math.max(-1, Math.min(1, (event.nativeEvent.wheelDelta || -event.nativeEvent.detail)))

event.currentTarget.scrollLeft -= (delta * 10)

event.preventDefault

}

How I've implemented it on component requiring horizontal scrolling:

When I've placed this horizontalScroll helper function within the R

要实现可滑动的侧边栏,可以使用 Ant Design 的 Layout 组件。具体步骤如下: 1. 引入 Layout 组件 首先,在组件中引入 Layout 组件: ```jsx import { Layout } from 'antd'; const { Sider, Content } = Layout; ``` 2. 创建 Sider 和 Content 使用 Sider 组件创建侧边栏,使用 Content 组件创建主内容区域。例如: ```jsx <Layout> <Sider width={200} style={{ background: '#fff' }}> 左侧菜单 </Sider> <Content style={{ padding: '0 24px', minHeight: 280 }}> 主内容区域 </Content> </Layout> ``` 其中,Sider 的 width 属性设置侧边栏宽度,Content 的 style 属性设置主内容区域样式。 3. 设置 Sider 的可滑动 为了使 Sider 可以滑动,需要为其添加 trigger 和 collapsible 属性。例如: ```jsx <Sider width={200} style={{ background: '#fff' }} trigger={null} collapsible collapsed={this.state.collapsed}> 左侧菜单 </Sider> ``` 其中,trigger={null} 表示隐藏默认的 trigger,collapsible 表示是否可收缩,collapsed 则表示是否默认收缩。 4. 设置 trigger 如果需要显示自定义的 trigger,可以在 Sider 中添加一个按钮,并设置 trigger={this.trigger()},其中 trigger() 返回一个函数,用于切换侧边栏的收缩状态。 ```jsx <Sider width={200} style={{ background: '#fff' }} trigger={this.trigger()} collapsible collapsed={this.state.collapsed}> 左侧菜单 </Sider> trigger = () => { return ( <div onClick={this.toggle}> <Icon type={this.state.collapsed ? 'menu-unfold' : 'menu-fold'} /> </div> ); }; toggle = () => { this.setState({ collapsed: !this.state.collapsed, }); }; ``` 这样就可以创建一个可滑动的侧边栏了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值