如何把antd 表格多选框移到右边

文章讲述了在使用AntdPro中的表格组件时遇到的问题,包括rowSelection的fixed样式失效、行间背景色导致左侧多出区域,以及如何通过全局样式和调整z-index来修复这些问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.看了下文档,配置了rowSelection 的 fixed: 'right'。但是不好使

2.思路:每行加定位,给选择框定位到右边

:global 包裹antd样式才会生效(antd pro)。z-index添加优先级才不会被其他动作覆盖

3.项目中表格隔行加了背景色,发现左边多了一块

重新赋值背景色给td,就不会出现左侧多出一块。

### 解决方案 为了实现多选框组件只允许选择一个选项的效果,在 Ant Design 中可以考虑两种方法: 一种方式是通过监听 `onChange` 事件来控制已选中的值列表长度不超过一。当新选项被勾选时,如果之前已有其他项处于选中状态,则取消原有项目的选中状态[^1]。 另一种更为简便的方式则是直接采用单选按钮(Radio),因为按照描述将多选框改为单选框后能正常显示不发生错位现象。不过这取决于具体业务逻辑需求是否接受这种UI上的变更。 以下是利用多选框并限制其只能选定一项的具体代码实例,这里展示了如何借助 React Hooks 实现这一功能: ```jsx import React, { useState } from 'react'; import { Checkbox, Space } from 'antd'; function SingleSelectionCheckbox() { const options = ['Apple', 'Pear', 'Orange']; const [checkedValue, setCheckedValue] = useState(null); function onChange(checkedValues) { let lastChecked = checkedValues.pop(); if (lastChecked !== checkedValue && !checkedValues.includes(lastChecked)) { setCheckedValue(lastChecked); } } return ( <Space wrap> {options.map(option => ( <Checkbox key={option} value={option} checked={checkedValue === option} onChange={() => onChange([option])}> {option} </Checkbox> ))} </Space> ); } export default SingleSelectionCheckbox; ``` 此段代码创建了一个名为 `SingleSelectionCheckbox` 的函数组件,定义了一系列可选项,并维护当前唯一选中的值作为状态变量 `checkedValue` 。每当用户尝试改变某个复选框的状态时都会触发 `onChange()` 方法处理逻辑,确保任何时候都只有一个项目保持选中状态。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值