antd的form的shouldUpdate执行了validator没有执行
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 25/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- react, typescript
- 领域
- frontend
调研方向
使用字段 a 和 b 重现提供的 Form.Item 示例,然后检查表单实现中 shouldUpdate 和 validator 的行为。确认更改任一依赖字段是否会调用 validator,并以回归测试覆盖的预期行为作为结论。
由索引模型根据 Issue 内容生成。
描述
a和b的校验都相互依赖,这里用shouldUpdate去做,结果shouldUpdate执行了,对应的validator没有执行。这种应该怎么处理?
<Form.Item
noStyle
shouldUpdate={(pre: any, current: any) => {
const result = JSON.stringify(pre.a) !== JSON.stringify(current.a)
|| JSON.stringify(pre.b) !== JSON.stringify(current.b);
console.log('shouldUpdate', result);
return result;
}}
>
{
() => (
<Form.Item name="a" label="a方式" required rules={[
({ getFieldValue }) => ({
validator(_, value) {
// 依赖b
console.log('validate);
},
})]}>
<Radio.Group disabled={disabled}>
<Radio value={'ddd'}>ddd
<Radio value={'xxx'}>xxx
</Radio.Group>
</Form.Item>
)
}
</Form.Item>
- 主要语言
- TypeScript
- 星标
- 1k
- 派生
- 287
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
react-component/field-form 的其他 Issue
-
难度 5/5 一周以上 新手友好度 25/100
react-component/field-form#768 · 5 条评论 ·
-
难度 4/5 3-5 天 新手友好度 25/100
react-component/field-form#751 ·
-
难度 3/5 1-2 天 新手友好度 42/100
react-component/field-form#749 ·
-
难度 3/5 1-2 天 新手友好度 35/100
react-component/field-form#746 ·
-
难度 3/5 1-2 天 新手友好度 35/100
react-component/field-form#733 · 1 条评论 ·
查看 react-component/field-form 的全部 Issue
相似的 Issue
-
bug priority: P2
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
wayfinder:task
难度 2/5 1-3 小时 新手友好度 65/100
维护者通常 1 天内回复
-
bug customer-reported data-plane question Service Attention Storage
难度 2/5 1-3 小时 新手友好度 69/100
Azure/azure-rest-api-specs#47397 · 2 条评论 ·
维护者通常 1 天内回复
-
Claude thinking budget can shrink capped Haiku responses to 2,048 tokens可能已有人在做 @DavyMassoneto 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
diegosouzapw/OmniRoute#17109 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
paperclipai/paperclip#16785 ·
维护者通常 1 天内回复