对于我的应用程序,我需要ScrollView
垂直和水平滚动组件。我搜索了很多,但无法解决。试过了directionLockEnabled
,没用。contentContainerStyle
不是办法,因为我的行号和列号是动态的,它可能会双向扩展。我相信应该有某种方法可以双向ScrollView
滚动。
这是我ScrollView
在 DataGrid 中的图片
这是我ScrollView
在 dataGrid( react-native-easy-grid
)中的代码
<Grid style={{ width: width - 20, height: height / 2 }}>
<ScrollView
horizontal={true}
style={{
height: height / 2,
width: width - 20,
marginLeft: 20,
borderWidth: 1,
borderColor: "#D3D3D3"
}}
>
<Col style={{ width: 200 }}>
<Row
style={{
borderWidth: 1,
borderColor: "#D3D3D3",
height: 80,
alignItems: "center"
}}
>
<Text>{this.state.Wholesaler}</Text>
</Row>
{this.state.dataGrid.map((person, i) => {
return (
<Row
key={i}
style={{
borderWidth: 1,
borderColor: "#D3D3D3",
height: 50,
alignItems: "center"
}}
>
<Text>{person.name}</Text>
</Row>
);
})}
</Col>
<Col style={{ width: 200 }}>
<Row
style={{
height: 40,
alignItems: "center",
justifyContent: "center",
borderWidth: 1,
borderColor: "#D3D3D3"
}}
>
<Text>Operator</Text>
</Row>
<Row style={{ height: 40 }}>
<Col
style={{
borderWidth: 1,
borderColor: "#D3D3D3",
alignItems: "center"
}}
>
<Text>Target</Text>
</Col>
<Col
style={{
borderWidth: 1,
borderColor: "#D3D3D3",
alignItems: "center"
}}
>
<Text>Actual</Text>
</Col>
<Col
style={{
borderWidth: 1,
borderColor: "#D3D3D3",
alignItems: "center"
}}
>
<Text>%</Text>
</Col>
</Row>
{this.state.dataGrid.map((person, i) => {
return (
<Row key={i} style={{ height: 50 }}>
<Col
style={{
justifyContent: "center",
borderWidth: 1,
borderColor: "#D3D3D3",
alignItems: "center"
}}
>
<Text>{person.OperatorTarget}</Text>
</Col>
<Col
style={{
justifyContent: "center",
borderWidth: 1,
borderColor: "#D3D3D3",
alignItems: "center"
}}
>
<Text>{person.OperatorActual}</Text>
</Col>
<Col
style={{
justifyContent: "center",
borderWidth: 1,
borderColor: "#D3D3D3",
alignItems: "center"
}}
>
<Text>{person.OperatorPercent}</Text>
</Col>
</Row>
);
})}
</Col>
<Col style={{ width: 200 }}>
<Row
style={{
height: 40,
alignItems: "center",
justifyContent: "center",
borderWidth: 1,
borderColor: "#D3D3D3"
}}
>
<Text>Lead</Text>
</Row>
<Row style={{ height: 40 }}>
<Col
style={{
borderWidth: 1,
borderColor: "#D3D3D3",
alignItems: "center"
}}
>
<Text>Target</Text>
</Col>
<Col
style={{
borderWidth: 1,
borderColor: "#D3D3D3",
alignItems: "center"
}}
>
<Text>Actual</Text>
</Col>
<Col
style={{
borderWidth: 1,
borderColor: "#D3D3D3",
alignItems: "center"
}}
>
<Text>%</Text>
</Col>
</Row>
{this.state.dataGrid.map((person, i) => {
return (
<Row key={i} style={{ height: 50 }}>
<Col
style={{
justifyContent: "center",
borderWidth: 1,
borderColor: "#D3D3D3",
alignItems: "center"
}}
>
<Text>{person.LeadTarget}</Text>
</Col>
<Col
style={{
justifyContent: "center",
borderWidth: 1,
borderColor: "#D3D3D3",
alignItems: "center"
}}
>
<Text>{person.LeadActual}</Text>
</Col>
<Col
style={{
justifyContent: "center",
borderWidth: 1,
borderColor: "#D3D3D3",
alignItems: "center"
}}
>
<Text>{person.LeadPercent}</Text>
</Col>
</Row>
);
})}
</Col>
</ScrollView>
</Grid>;