ant design 下拉选择框在鼠标滑动时脱离页面的解决方法

getPopupContainer = {trigerNode => trigerNode.parentElement }

### 实现带有滚动条的下拉选择框 为了实现在 Ant Design Vue 的表格组件内嵌入带滚动条的选择框,可以采用如下 CSS 和配置方式来确保多选框不会换行并提供水平滚动功能。 对于 `.ant-select-selection--multiple` 类应用特定样式以控制溢出行为和最大高度: ```css .ant-select-selection--multiple { overflow-x: auto; overflow-y: hidden; max-height: 33px; } ``` 同调整内部渲染元素的行为使其在同一行显示而不自动折行,并通过 `inline-flex` 属性保持布局紧凑[^1]: ```css .ant-select-selection--multiple .ant-select-selection__rendered { white-space: nowrap; display: inline-flex; } ``` 另外,在处理页面滚动可能出现的位置偏移问题,可以通过设置 `getPopupContainer` 来指定弹出层相对于哪个容器定位。这有助于防止因页面滚动而导致的选择项位置错乱[^2]: ```javascript { getPopupContainer: (triggerNode) => triggerNode.parentNode, } ``` 针对更复杂的场景比如模态框中的下拉列表,则需注意样式的隔离以免影响全局样式或其他组件的表现[^3]。 最后,如果希望进一步增强用户体验,还可以考虑封装自定义输入控件,例如结合 Input 组件与 Table 表格创建可编辑单元格,允许用户点击后展开更多选项进行选择[^4]。 #### 示例代码片段展示如何集成上述特性至表格列定义中: ```vue <template> <a-table :columns="columns" :data-source="dataSource"> <!-- 其他属性 --> </a-table> </template> <script> export default { data() { return { columns: [ { title: '操作', dataIndex: 'action', scopedSlots: { customRender: 'action' }, }, // ...其他列... ], dataSource: [], // 数据源数组 }; }, }; </script> <style scoped> /* 应用于当前作用域内的样式 */ .ant-select-selection--multiple { overflow-x: auto; overflow-y: hidden; max-height: 33px; } .ant-select-selection--multiple .ant-select-selection__rendered { white-space: nowrap; display: inline-flex; } </style> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值