3 回答

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊
我沒(méi)有嘗試重現(xiàn)你的情況,但嘗試這樣的事情:
onChange={e => handleChange(e)}
比CB中的
const handleChange = (e, value) => {console.log(e, value)}
此致!

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊
next version (v1.x)和stable version v0.xof有兩個(gè)區(qū)別chakra-ui
<RadioGroup />在(v0.x)中
onChange?: (
event: React.ChangeEvent<HTMLInputElement>,
value: IRadio["value"],
) => void;
和<RadioGroup />(v1.x)
onChange?(nextValue: StringOrNumber): void;
如果您想?yún)⒓釉摶顒?dòng),您可以降級(jí)您的版本chakra-ui

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊
我遇到了同樣的問(wèn)題,因?yàn)槲蚁M襤andleChange在任何類(lèi)型的領(lǐng)域工作,我已經(jīng)這樣設(shè)置了。
const [formData, setFormData] = React.useState({
inputField: "",
checkBoxField: false,
emailField: "",
distance: "" /* radioField */
})
function handleChange(event) {
const { name, value, type, checked } = event.target
setFormData(prevFormData => {
return {
...prevFormData,
[name]: type === "checkbox" ? checked : value
}
})
}
作為解決方法,我編寫(xiě)了一個(gè)返回假事件的函數(shù)。
function createEvent(name, value) {
return {
target: {
name: name,
value: value,
type: "radio",
checked: false
}
}
}
然后我的RadioGroup會(huì)是這樣的:
<RadioGroup
name="distance"
onChange={
function(value) {
props.handleChange(
createEvent("distance", value)
)
}
}
>
<Radio value="0.5">0.5</Radio>
<Radio value="2000">1</Radio>
<Radio value="3000">2</Radio>
<Radio value="4000">3</Radio>
<Radio value="5000">4</Radio>
</RadioGroup>
但是,是的,將name="distance"asRadioGroup的屬性不再重要了。如果我們只需要 的一些屬性event.target,但仍然希望它們能夠盡快添加對(duì)完整事件對(duì)象的訪問(wèn)權(quán)限,則可以使用。
添加回答
舉報(bào)