zoukankan      html  css  js  c++  java
  • React Native使用react-navigation时,设置navigationOptions中Static中使用this注意点

    使用react-navigation时,单页面设置navigationOptions中,进行Static中调用方法,不能像以下设置

    onPress = {()=>this.clickFinishButton()}
    export default class extends Component {
      static navigationOptions = ({
        navigation,
        screenProps
      }) => ({
        headerTitle: 'List实现多选',
        headerTitleStyle: {
          color: 'white'
        },
        headerStyle: {
          backgroundColor: Color.kMainColor // 设置导航栏的背景颜色,headerTintColor设置无效
        },
        headerRight:(
            <NavigationItem
                title='完成'
                // 这里注意: static里面不能使用this调用方法,出现clickFinishButton is not function
                // 参考博客: http://www.jianshu.com/p/2f575cc35780
                // onPress={()=>navigation.state.params.navigatePress()}
                onPress = {()=>this.clickFinishButton()}
            />
        )
      });

    解决方法:

    export default class extends Component {
      static navigationOptions = ({
        navigation,
        screenProps
      }) => ({
        headerTitle: 'List实现多选',
        headerTitleStyle: {
          color: 'white'
        },
        headerStyle: {
          backgroundColor: Color.kMainColor // 设置导航栏的背景颜色,headerTintColor设置无效
        },
        headerRight:(
            <NavigationItem
                title='完成'
                // 这里注意: static里面不能使用this调用方法,出现clickFinishButton is not function
                // 参考博客: http://www.jianshu.com/p/2f575cc35780
                onPress={()=>navigation.state.params.navigatePress()}
                // onPress = {()=>this.clickFinishButton()}
            />
        )
      });
    componentDidMount(){
        // 处理数据源
        this.handlerDataSource();
        this.props.navigation.setParams({navigatePress:this.clickFinishButton})
      }
      // 点击完成按钮
      clickFinishButton = ()=> {
          alert('哈哈');
        //   let data = this.state.dataArr;
        //   let selectResultArr = [];
        //   for (var index in data) {
        //         var element = object[index];
        //         if (element.isSelected) {
        //             selectResultArr.push(element);
        //         }
        //   }
        //   alert(selectResultArr.length);
      }
  • 相关阅读:
    Leetcode 109
    Leetcode 118
    js时间操作
    DWR搭建以及使用教程
    Ant 概念
    Eclipse 快捷键
    [eclipse] 三个操作技巧
    js call方法
    js验证密码强弱
    request getParameter getAttribute
  • 原文地址:https://www.cnblogs.com/pengsi/p/7088401.html
Copyright © 2011-2022 走看看