根据你提供的代码,如果你希望将复选框的值以对象形式存储,并且在repayChannel字段中获取到相应的值,可以按以下方式修改:
- 修改
handleSubmit函数:
const handleSubmit = (values) => {
console.log('1111111');
const error = validator(values);
const requiredError = checkRequired()(null, values); // 注意这里使用values而不是value
if (requiredError) {
error._error = requiredError;
}
if (!error._error) {
console.log('验证通过');
}
}
- 修改复选框的onChange事件处理函数,将对应的值设置为true或false:
<InputGroup field={repayChannel} label="还款渠道" sm={3} lsm={3} size="sm">
<div className="col-sm-9">
<div className="col-sm-4">
<div className="checkbox">
<label>
<input type="checkbox" name="channelType" {...repayChannel} checked={repayChannel.value['A']} onChange={() => { repayChannel.onChange({ ...repayChannel.value, 'A': !repayChannel.value['A'] }) }} /> 线下
</label>
</div>
</div>
<div className="col-sm-4">
<div className="checkbox">
<label>
<input type="checkbox" name="channelType" {...repayChannel} checked={repayChannel.value['B']} onChange={() => { repayChannel.onChange({ ...repayChannel.value, 'B': !repayChannel.value['B'] }) }} />主动
</label>
</div>
</div>
<div className="col-sm-4">
<div className="checkbox">
<label>
<input type="checkbox" name="channelType" {...repayChannel} checked={repayChannel.value['C']} onChange={() => { repayChannel.onChange({ ...repayChannel.value, 'C': !repayChannel.value['C'] }) }} />代扣
</label>
</div>
</div>
</div>
</InputGroup>
这样,在handleSubmit函数中获取到的values.repayChannel将会是一个对象,例如:{ A: true, B: false, C: true }。你可以根据需求修改相关代码逻辑来处理这个值。
内容由零声教学AI助手提供,问题来源于学员提问




