test

博客园 首页 新随笔 联系 订阅 管理
  109 随笔 :: 0 文章 :: 1 评论 :: 16万 阅读
复制代码
class QuestionCheck extends Component {
  constructor(props) {
    super(props);
    this.state = {
      checked: props.checked
    };
    
  }
  changeSel = () => {
    this.props.setCheckd(this.props, !this.state.checked);
    this.setState({
      checked: !this.state.checked,
    });
  };

  componentWillReceiveProps(nextProps){
    if(this.props.checked !== nextProps.checked){
      this.setState({
        checked:nextProps.checked
      })
    }
  }

  render() {
    return (
      <View style={{ flexDirection: 'row', marginBottom: 10 }} >
        <CheckBox
          onPress={() => {
            this.changeSel();
          }}
          checked={this.state.checked}
          square={true}
          color="#DFDFDF"
        />
        <Text style={{ marginLeft: 20 }}>{this.props.name}</Text>
      </View>
    );
  }
}
复制代码
复制代码
  render() {
    const baseQuestion1Des = [
      { id: '1', name: 'aaa', checked: false },
      { id: '2', name: 'bbb', checked: false },
      { id: '3', name: 'ccc', checked: false }
    ];
<Item underline>
              <Text style={styles.textSize}>类型:</Text>
              <View style={{ padding: 10,  marginTop: 10 }}>
              <List
                dataArray={baseQuestion1Des}
                rowHasChanged={(r1, r2) => {
                  return r1.checked !== r2.checked;
                }}
                renderRow={data => {
                  return (
                    <QuestionCheck setCheckd={this.setCheckd} {...data} />
                  );
                }}
              />
            </View>
            </Item>
}
复制代码

 

posted on   testgogogo  阅读(311)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示