微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

阻止Chip组件发送REST请求

如何解决阻止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-adminSingleFieldList中使用了这个组件,也许是react-admin中的问题,但是我使用了直接继承自material-ui的自定义Chip组件。

react-admin中的代码

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 举报,一经查实,本站将立刻删除。