我已经问过这个问题,但建议再次询问更多细节。
我有项目从react表中的 firebase 加载数据,并且已经完成。完美运行。问题是从那个数据库中,也有需要在表格中显示的图片。从第一张图片中,您可以看到 firebase 中的数据是如何组织的。 火力数据
这是在react中加载该数据的代码:
class App extends Component {
constructor(props) {
super(props);
this.state = {
vehicles: []
};
}
componentWillMount() {
this.getvehicles();
}
getvehicles() {
let vehicles = [];
firebase
.database()
.ref(`vehicles`)
.once('value', snapshot => {
snapshot.forEach(level1 => {
level1.forEach(level2 => {
const vehicle = level2.val();
vehicle.pictures && vehicles.push(vehicle);
});
});
this.setState({
vehicles
});
});
}
从第二张图片中您可以看到数据是从 Firebase 加载的数据是 从 Firebase 加载的
渲染代码在这里:
render() {
const vehiclesColumns = [
{
columns: [
{
Header: 'Vehicle ID',
id: 'vehicleID',
accessor: d => d.vehicleID,
filterMethod: (filter, row) =>
row[filter.id].startsWith(filter.value)
},
{
Header: 'Terminal',
id: 'terminal',
accessor: d => d.terminal,
filterMethod: (filter, row) =>
row[filter.id].startsWith(filter.value)
},
{
Header: 'Time',
id: 'timestamp',
accessor: d => {
return Moment(d.timestamp)
.local()
.format('DD-MMMM-YYYY', 'at', true);
}
},
{
Header: 'User',
id: 'user',
accessor: d => d.user,
filterMethod: (filter, row) =>
row[filter.id].startsWith(filter.value)
}
]
}
];
return (
<div style={style}>
<div>
<ReactTable
style={{ marginLeft: '-80%', marginRight: '-80%' }}
data={this.state.vehicles}
filterable
defaultFilterMethod={(filter, row) =>
String(row[filter.id]) === filter.value
}
columns={vehiclesColumns}
SubComponent={row => {
return <div>PICTURES IN ROW</div>;
}}
/>
</div>
</div>
);
}
}
所以我的问题是,任何人都可以帮助我,或者重写代码,“图片”数组您可以在第二个屏幕截图中看到的内容,在“react-table”示例的“行”中呈现:
SubComponent={row => {
return <div><img src={remoteUri} key={vehicle.picture} /></div>;
}}
正如您在最后一个屏幕截图中看到的那样,应该如何以及在何处显示来自 Firebase 的“图片”。 带图片的react表数据