Estoy usando el grupo de casillas de verificación antd, ahora solo quiero marcar una casilla de verificación al mismo tiempo, este es mi código:
<Checkbox.Group onChange={onChange} > <Row> <Col> <Checkbox key={selected.length > 0?selected[0]+"1":1} value="内容不合规" checked={isDisabled("内容不合规")}>内容不合规</Checkbox> <Checkbox key={selected.length > 0?selected[0]+"2":2} value="内容无法验证" checked={isDisabled("内容无法验证")}>内容无法验证</Checkbox> <Checkbox key={selected.length > 0?selected[0]+"3":3} value="图片不清晰" checked={isDisabled("图片不清晰")}>图片不清晰</Checkbox> <Checkbox key={selected.length > 0?selected[0]+"4":4} value="请联系客服" checked={isDisabled("请联系客服")}>请联系客服</Checkbox> </Col> </Row> </Checkbox.Group>en la función onChange, cambio el valor marcado en el estado de esta manera:
function onChange(checkedValues) { if(checkedValues.length === 1){ onCheckedChange(checkedValues); } if(checkedValues.length > 1){ let newest = checkedValues[checkedValues.length - 1] let newArray = new Array(); newArray.push(newest); onCheckedChange(newArray) } } esta función establece el valor de verificación más reciente en el campo de checked de estado, cuando el usuario cambia la casilla de verificación, el estado cambia y la interfaz de usuario se vuelve a representar. luego controlo la casilla de verificación marcada o no usando esta función:
function isDisabled(id) { let disabled = selected.length > 0 && selected.indexOf(id) === -1; return !disabled; }; esta función isDisabled verifica el valor verificado actual en el estado y hace que solo el valor almacenado en el estado esté marcado y otra casilla de verificación desmarcada, rastreé el código y encontré que isDisabled con éxito el indicador marcado pero la IU del grupo de verificación aún no cambia. ¿por qué pasó esto? ¿Qué debo hacer para que cambie la casilla de verificación y solo seleccione una? Leí un artículo y dije que solo cambió la tecla de la casilla de verificación, la actualización de la casilla de verificación, luego agrego esto:
key={selected.length > 0?selected[0]+"1":1}todavía no funcionó.