Checkbox 更改复选框状态
我正在尝试创建包含多行的ListView。每行有一个复选框+文本。 这是我对ListView的实现:Checkbox 更改复选框状态,checkbox,react-native,Checkbox,React Native,我正在尝试创建包含多行的ListView。每行有一个复选框+文本。 这是我对ListView的实现: class ListExample extends Component { constructor() { super(); const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2}); this.state = { dataSource: d
class ListExample extends Component {
constructor() {
super();
const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
this.state = {
dataSource: ds.cloneWithRows(["hey1", "hey2", "hey3", "hey4"]),
};
}
render() {
return (
<ListView
dataSource={this.state.dataSource}
renderRow={(data) => <Row data={data} />}
/>
);
}
}
export default ListExample;
class ListExample扩展组件{
构造函数(){
超级();
const ds=new ListView.DataSource({rowHasChanged:(r1,r2)=>r1!==r2});
此.state={
数据源:ds.cloneWithRows([“hey1”、“hey2”、“hey3”、“hey4”),
};
}
render(){
返回(
}
/>
);
}
}
导出默认列表示例;
这是我对一行的实现:
import React from 'react';
import { CheckBox } from 'native-base';
import { View, Text, StyleSheet} from 'react-native';
const Row = (props) => (
<View style={styles.container}>
<CheckBox onPress={props.onPress} checked={false} />
<Text style={styles.text}>
{ props.data }
</Text>
</View>
);
export { Row };
从“React”导入React;
从“本机基”导入{CheckBox};
从“react native”导入{View,Text,StyleSheet};
常量行=(道具)=>(
{props.data}
);
出口{Row};
现在我需要在复选框上创建行为。我的目标是当一个人点击复选框时,复选框的状态变为选中
如何才能做到这一点?您可以使用行组件的状态:
import React, { Component } from 'react';
import { CheckBox } from 'native-base';
import { View, Text, StyleSheet} from 'react-native';
class Row extends Component {
constructor(props) {
super(props);
this.state = { checked: false };
}
render() {
return (
<View style={styles.container}>
<CheckBox
onPress={() => this.setState({
checked: !this.state.checked
})}
checked={this.state.checked}
/>
<Text style={styles.text}>
{ props.data }
</Text>
</View>
);
}
}
export default Row;
import React,{Component}来自'React';
从“本机基”导入{CheckBox};
从“react native”导入{View,Text,StyleSheet};
类行扩展组件{
建造师(道具){
超级(道具);
this.state={checked:false};
}
render(){
返回(
这是我的国家({
选中:!this.state.checked
})}
checked={this.state.checked}
/>
{props.data}
);
}
}
导出默认行;
I收到此错误“元素类型无效:需要字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义。请检查StaticRenderer
“@guitoofI更改为“export{Row};”的呈现方法,现在可以工作了。非常感谢。哦,是的,很抱歉,我用导出默认值在本地测试了它,但忘了在我的答案中更改它。很高兴这有帮助;)尽情享受吧!