在我的搜索栏应用程序中,我使用 Input.Search Ant Design 组件。
例如像这样:
import React from 'react';
import { Input } from 'antd';
const SearchBar = ( { loading, searchHandler } ) => (
<Input.Search placeholder="Enter name to search here"
disabled={loading}
onSearch={searchHandler}
enterButton='Search' />
);
export default SearchBar;
Run Code Online (Sandbox Code Playgroud)
这样当loading属性是true输入字段被禁用时,但按钮仍然可以点击。
我想禁用控件的两个部分,字段和按钮,而loadingprop 是true,有什么办法吗?
你可以在你的searchHandler:
searchHandler = e => {
if(this.state.loading) {
e.preventDefault();
return false;
}else {
// Do stuff..
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:
看起来您可以提供自己的自定义 enterButton。所以我会为回车按钮创建一个新组件并将其loading作为道具传递:
const EnterButton = ({ loading, onClick }) => (
<button className={loading ? 'disabled' : ''} onClick={onClick} disabled={loading}>Search</button>
);
export default EnterButton;
...
import React from 'react';
import { Input } from 'antd';
import EnterButton from './EnterButton';
const SearchBar = ( { loading, searchHandler } ) => (
<Input.Search placeholder="Enter name to search here"
disabled={loading}
onSearch={searchHandler}
enterButton={<EnterButton loading={loading} onClick={searchHandler} />} />
);
export default SearchBar;
Run Code Online (Sandbox Code Playgroud)
您可以使用loading道具禁用按钮并向其添加一个.disabled类。
.disabled { opacity: 0.5; }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9090 次 |
| 最近记录: |