- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 antd
中有以下形式,代码几乎逐字取自 the official website 。代码沙箱也是here :
以下代码的问题在于,每次在字段中击键时,onChange 方法都会触发三 (3) 次。如果打开浏览器控制台,您也可以在codesandbox链接中验证这一点。我想了解为什么会这样以及可以采取什么措施。
import React from 'react';
import { Form, Input } from 'antd';
import {FieldData} from 'rc-field-form/es/interface.d.ts';
interface CustomizedFormProps {
onChange: (fields: FieldData[]) => void;
fields: FieldData[];
}
const CustomizedForm: React.FC<CustomizedFormProps> = ({ onChange, fields }) => {
return (
<Form
name="global_state"
layout="inline"
fields={fields}
onFieldsChange={(changedFields, allFields) => {
onChange(allFields);
}}
>
<Form.Item
name="username"
label="Username"
rules={[{ required: true, message: 'Username is required!' }]}
>
<Input />
</Form.Item>
</Form>
);
};
export class AntdFormTest extends React.Component<{}, {fields: FieldData[]}> {
constructor(props: {}) {
super(props);
this.state = {fields: [{name: ['username'], value: 'Ant Design'}]};
}
render() {
return (
<>
<CustomizedForm
fields={this.state.fields}
onChange={newFields => {
console.log('onChange fired');
this.setState({fields: newFields});
}}
/>
<pre className="language-bash">{JSON.stringify(this.state, null, 2)}</pre>
</>
);
}
};
最佳答案
您应该使用 onValuesChange
方法。当字段更新(重新渲染)时,会触发 onFieldsChange
。在这里查看更多:https://ant.design/components/form/#API
Here它解释了何时应该使用 OnFieldsChange
方法
关于reactjs - antd onChange 每次击键都会触发三次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62893269/
menu Home Events Technical Schedule
我试图阻止触发默认 anchor 链接和 onclick 事件。 这是 HTML 代码: Google 我正在尝试使用以下 jQuery 代码阻止任何重定向的发生: $("#mylink").cli
我想在单击父 div 上的任意位置时切换我的 div,除非单击 anchor 元素。因此,例如,如果我单击示例中的第一个文本,我希望它切换,但在我的示例中的第二个文本上,我不希望它切换。 JSFidd
我在通过 jQuery 伪造 anchor 点击时遇到问题:为什么我的thickbox在我第一次点击输入按钮时出现,但第二次或第三次却没有出现? 这是我的代码: Link 当我直接点击链接时,它总是
我已经从 Mootools 切换到 jQuery,因为我认为它有更好的支持。我有这样的 HTML: Opcje Opcje Opcje Opcje Opcje Opcje Opcje JS
我是一名优秀的程序员,十分优秀!