TypeError:无法将 undefined 或 null 转换为对象 React js material-table


{
title: 'Stores', field: 'Depolar',
editComponent: props => (
<Select
name="Depolar"
type="text"
value={that.state.selectedStores}
multiple
input={<Input />}
onChange={e => {
that.setState({
selectedStores:e.target.value
})
let store=that.state.stores.find(item => !that.state.selectedStores.includes(item.Adi)
)
Object.keys(store.Urunler).map(function (key,index) {
if(store.Urunler[key]){
that.setState({
products:that.state.products.push(store.Urunler[key])
});
}
})
console.log(that.state.products)



}}
>
{that.state.stores.map(item=> {
return <MenuItem value={item.Adi}>{item.Adi}</MenuItem>
})}
</Select>
)
},
{
title: 'Products', field: 'Urunler',
editComponent: props => (
<Select
name="Urunler"
type="text"
value={that.state.selectedProducts}
input={<Input />}
multiple
onChange={e => {               
that.setState({selectedProducts:e.target.value})
}}
>
{/* Aşağıdaki mapde hata veriyor. Objecte çevir*/}
{that.state.products ? Object.keys(that.state.products).map(function (key,index) {
return <div><MenuItem value={that.state.products[key].Adi}>{that.state.products[key].Adi} </MenuItem></div>
}
):null}
</Select>
)},

收到错误。我尝试进行多项选择,并使用第一个选择在材料表行上的 Onchange 更改第二个选择的数据。 我正在使用火力基地。

我在"存储"时出现此错误。Urunler"为空或未定义。而且我的产品没有在菜单项上列出,这意味着选择为空,但状态.产品有数据

我怎样才能克服这个错误。 我也想添加到乌伦勒 选择一个输入。我知道我应该为 onChanges 调用函数,但如果它有效,我会稍后再做

{
title: 'Stores', field: 'Depolar',
editComponent: props => (
<Select
name="Depolar"
type="text"
value={that.state.selectedStores}
multiple
input={<Input />}
onChange={async e => {
let odata=[]
this.setState({
selectedStores:e.target.value,
products:odata
})
let store= await that.state.stores.filter(item => (
!that.state.selectedStores.includes(item.Adi))
);
console.log(store)
this.changeProducts(store);}}
>
{that.state.stores.map(item=> {
return <MenuItem value={item.Adi}>{item.Adi}</MenuItem>
})}
</Select>
)
},
{
title: 'Products', field: 'Urunler',
editComponent: props => (
<Select
name="Urunler"
type="text"
value={that.state.selectedProducts}
input={<Input />}
multiple
onChange={e => {               
that.setState({selectedProducts:e.target.value})

}}
>
{/* Aşağıdaki mapde hata veriyor. Objecte çevir*/}
{that.state.products ? Object.keys(that.state.products).map(function (key,index) {
return <div><MenuItem value={that.state.products[key].Adi}>{that.state.products[key].Adi} </MenuItem></div>
}
):null}
</Select>
)
},
changeProducts( store){
var that=this;
Object.keys(store).map(function (key,index) {
let data=store[key].Urunler;
if(data){
that.setState({
products:{...that.state.products,...data}
});
}
})

}

最新更新