- 46
- 0
请问antd中输入框的函数防抖要怎么弄?
这是我写的一个测试代码
import React from "react";
import ReactDOM from "react-dom";
import "antd/dist/antd.css";
import "./index.css";
import { Form, Input } from "antd";
import debounce from "lodash.debounce";
const FormItem = Form.Item;
const CustomizedForm = Form.create({
onFieldsChange(props, changedFields) {
props.onChange(changedFields);
}
})(props => {
const { getFieldDecorator } = props.form;
return (
<Form layout="inline">
<FormItem label="Username">
{getFieldDecorator("username", {
rules: [{ required: true, message: "Username is required!" }]
})(<Input />)}
</FormItem>
</Form>
);
});
class Demo extends React.Component {
state = {
fields: {
username: {
value: "benjycui"
}
}
};
handleFormChange = changedFields => {
if (changedFields["username"].validating === false) {
debounce(() => {
console.log("hahaha");
this.setState(({ fields }) => ({
fields: { ...fields, ...changedFields }
}));
}, 2000)();
}
};
render() {
const fields = this.state.fields;
return (
<div>
<CustomizedForm {...fields} onChange={this.handleFormChange} />
<pre className="language-bash">{JSON.stringify(fields, null, 2)}</pre>
<button onClick={this.xxx}>click</button>
</div>
);
}
}
ReactDOM.render(<Demo />, document.getElementById("container"));
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
孤心一人行 普通会员 1楼
在Ant Design中,可以使用debounce函数来实现输入框的防抖功能。debounce函数接收两个参数:一个要重复执行的函数,一个时间间隔,表示防抖的时间间隔。如果在防抖时间内没有执行函数,那么这个防抖函数就不会被执行。
以下是一个简单的示例:
```javascript import { debounce } from 'antd';
const input = document.getElementById('input');
input.addEventListener('input', debounce(function() { console.log('Value changed'); }, 200)); ```
在这个示例中,我们首先获取到输入框的引用,然后在输入框的输入事件处理器中,我们使用debounce函数来限制一次输入事件的执行时间。debounce函数的第二个参数是防抖的时间间隔,我们设置为200毫秒,这意味着在200毫秒内,如果用户没有输入任何内容,那么防抖函数就不会被执行。
这只是一个基本的示例,实际上你可能需要根据你的具体需求来调整防抖的时间间隔。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
