Reactjs DataGrid上的CloneButton进入编辑页面
我有以下代码:Reactjs DataGrid上的CloneButton进入编辑页面,reactjs,clone,react-admin,Reactjs,Clone,React Admin,我有以下代码: <Datagrid rowClick="edit"> <TextField source="id" label="Id" /> <TextField source="token" label="Token" /> <LinkResourceField label="Company" source="company.id" reference={record => `${Pluraliz
<Datagrid rowClick="edit">
<TextField source="id" label="Id" />
<TextField source="token" label="Token" />
<LinkResourceField
label="Company"
source="company.id"
reference={record =>
`${Pluralize.plural(get(record, 'company.category', 'company'))}`
}
display="company.name"
sortable={false}
/>
<TextField source="status" label="Status" />
<CloneButton />
</Datagrid>
`${Pluralize.plural(获取(记录,'company.category','company'))`
}
display=“company.name”
可排序={false}
/>
CloneButton确实会出现,但当我单击它时,它首先会进入“创建页面”,然后会进入“编辑页面”以编辑我单击的记录
有人知道为什么会这样吗?是否要设置CloneButton以阻止其触发rowClick
感谢您的阅读和帮助。您不能这样做:
<CloneButton onClick={event => {
event.stopPropagation()
event.preventDefault()
// do something here
} />
{
event.stopPropagation()
event.preventDefault()
//在这里做点什么
} />
谢谢大家的帮助
我在react admin上发布了一个bug&PR来解决这个问题。
现在,react admin版本2.8.2修复了这一问题
每个人的评论都非常有帮助,如果没有它,我是不可能到达这里的
另外,非常感谢react管理团队快速批准并发布新版本。这是react管理错误;CloneButton应停止click事件传播,以便datagrid行永远不会接收rowClick事件。我建议您在react admin tracker中打开一个问题。谢谢!我将提交一个bug。对于其他回答这个问题的人,这是提交给github的问题:@Françoiszaninoto请检查下面的其他答案。react admin是否也可以支持此选项?让我们自己的onClick做一些事情,然后也运行内部onClick处理程序?或者(通过一个不同的道具)不太好,因为我正在为此使用react admin组件。我没有办法//在这里做点什么
,因为这是由react-admin控制的?让我们自己的onClick
做一些事情,然后也运行内部onClick
处理程序?