道具回调不返回?
Prop callback not returning?
我将 Material UI Table 与 ReactJS 一起使用,并希望在行为 selected/deselected 时更改状态变量。 Table
有 onRowSelection
每次选择一行时触发:
<Table
height='300px'
fixedHeader={true}
multiSelectable={true}
showRowHover={true}
onRowSelection={this.handleRowSelection.bind(this)}
>
我将以下函数传递给 onRowSelection
属性:
handleRowSelection(selectedRows) {
let contactsImport = [];
if (selectedRows === 'all') {
contactsImport = this.state.contacts.new;
} else if (selectedRows !== 'none') {
selectedRows.forEach((index) => {
contactsImport.push(this.state.contacts.new[index]);
});
}
this.setState({
contactsImport:contactsImport
});
}
这会正确设置状态,但会阻止 Table 行选择正常运行。如果我单击一行,复选框不会选中 - 它似乎正在选中然后立即取消选中,因为我得到了 'ripple' 动画但没有选中标记。
删除对 setState
的调用可以解决问题,那么 setState
是否可能阻止回调正确返回? 或者这可能是Material UI?
的错误
如果您希望以编程方式控制它,则必须从状态管理单行组件的 selected
属性。 selected
属性 默认为 false
,因此当 setState
发生重新渲染时,它将重置回 false
我将 Material UI Table 与 ReactJS 一起使用,并希望在行为 selected/deselected 时更改状态变量。 Table
有 onRowSelection
每次选择一行时触发:
<Table
height='300px'
fixedHeader={true}
multiSelectable={true}
showRowHover={true}
onRowSelection={this.handleRowSelection.bind(this)}
>
我将以下函数传递给 onRowSelection
属性:
handleRowSelection(selectedRows) {
let contactsImport = [];
if (selectedRows === 'all') {
contactsImport = this.state.contacts.new;
} else if (selectedRows !== 'none') {
selectedRows.forEach((index) => {
contactsImport.push(this.state.contacts.new[index]);
});
}
this.setState({
contactsImport:contactsImport
});
}
这会正确设置状态,但会阻止 Table 行选择正常运行。如果我单击一行,复选框不会选中 - 它似乎正在选中然后立即取消选中,因为我得到了 'ripple' 动画但没有选中标记。
删除对 setState
的调用可以解决问题,那么 setState
是否可能阻止回调正确返回? 或者这可能是Material UI?
如果您希望以编程方式控制它,则必须从状态管理单行组件的 selected
属性。 selected
属性 默认为 false
,因此当 setState
发生重新渲染时,它将重置回 false