如何解决阻止Chip组件发送REST请求
import React from 'react';
import PropTypes from 'prop-types';
import Chip from '@material-ui/core/Chip';
import withStyles from '@material-ui/core/styles/withStyles';
const styles = {
root: {
margin: 4,},};
function CustomChipField({ root,classes,record,onClick }) {
return (
<Chip className={classes.root} label={`${record.name}`} onClick={onClick} />
);
}
CustomChipField.propTypes = {
classes: PropTypes.shape({}).isrequired,record: PropTypes.shape({}),onClick: PropTypes.func.isrequired,};
CustomChipField.defaultProps = {
record: {},};
export default withStyles(styles)(CustomChipField);
是什么?这是一个继承了Material-ui芯片的自定义Chip组件。
但是我还没有弄清楚为什么当我单击它时它会发送REST请求。
这样的请求的示例:http://localhost:3000/#/users/{"name"3A"whatever_name"}
我有一个onClick道具被覆盖,这是我尝试覆盖它,但是它什么也没做。
我在react-admin的SingleFieldList中使用了这个组件,也许是react-admin中的问题,但是我使用了直接继承自material-ui的自定义Chip组件。
export const UserList = props => (
<List {...props}>
<Datagrid rowClick="edit">
<TextField source="id" />
<TextField source="username" />
<ArrayField source="some_array">
<SingleFieldList>
<CustomChipField
source="name"
size="small"
clickable={true}
onClick={handleClick}
/>
</SingleFieldList>
</ArrayField>
</Datagrid>
</List>
);
再一次-onClick道具不起作用。
所以问题是:如何阻止Chip组件发送REST请求,是否对其进行自定义。
解决方法
这对我有用:
<SingleFieldList linkType={false}>
<CustomChipField />
</SingleFieldList>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。