Admin on Rest onClick在渲染时调用而不是单击

时间:2017-06-29 18:53:27

标签: admin-on-rest

我遇到的问题是我有一个按钮:

export const LogList = (props) => (
    <List {...props}  perPage={100} title="Logs and Reports" filters={< FileFilter/>}>
        <Datagrid>
            <TextField source="inputfile" label="Input File" />
            <TextField source="cycle" label="Cycle" />
            <TextField source="job" label="Job" />
            <TextField source="name" label="File Name" />
            <ShowButton/>
            <LogActions/>
        </Datagrid>
    </List>
);

此按钮用于列表中,如下所示:

const HandleClick = (id) => {
        fetch(`controller_service/archivedfiles/${id}`, { method: 'GET', body:{} })
            .then(() => {
                // do stuff
            })
            .catch((e) => {
                console.error(e);
                //error
            });
    }

这是HandleClick:

HandleClick

好吧我的问题是,无论何时我转到此页面,它都会创建数据网格,但是当呈现按钮时,它会调用"System.Data.Objects.ObjectResult1[System.String]",然后在我点击按钮之前获取该数据,并且当我点击按钮时没有任何反应。有人可以解释我做错了吗?

1 个答案:

答案 0 :(得分:0)

正如wesley6j所说,当你为参数赋值时,会调用该函数。 避免这种情况的一种方法是使用.bind(this,params)或将HandleClick包装在另一个函数中:

onClick={() => HandleClick(record["id"])}