複数のアイテムを選択するネイティブ要素に反応するチェックボックス

Jca39A

だから私はreactnativeelementsチェックボックスを使用しているプロジェクトに取り組んでいます、そして私はついにそれがフェッチされたすべてのアイテムを一度に選択しないところでそれを機能させました。一度に1回だけ選択し、別のアイテムを選択しようとすると、最初のアイテムの選択が解除され、2番目のアイテムが選択されます。しかし、今では一度に複数のアイテムを選択することはできません。このプラットフォームでgoogleを検索しましたが、redditも検索しましたが、解決策が見つかりません。

これが私のコードです

constructor(props) {
        super(props);
        this.state = {
            dataSource: [],
            checked: null,
        }
    }

    render() {

        const  { navigation } = this.props;
        const cust = navigation.getParam('food', 'No-User');
        const other_param = navigation.getParam('otherParam', 'No-User');
        const cust1 = JSON.parse(cust);
    
        const data = cust1;
        console.log(data);

        return (
            <View style={styles.container}>
                <BackButtonMGMT navigation={this.props.navigation} />

                <FlatList
                    data={data}
                    extraData={this.state}
                    keyExtractor={(item, index) => index.toString()}
                    renderItem={({ item, index }) => (
                        <CheckBox
                        center 
                        titleProps={{ color: 'black', fontWeight: 'bold'}}
                        title={item}
                        iconRight
                        checked={this.state.checked == item}
                        size={30}
                        onPress={() => this.setState({checked: item})}
                        containerStyle={styles.checkBox}
                        />
                        
                    )}
                />

            </View>
        )
    }

CheckBox内のチェックされた行を変更しようとしました。check = {!! item.checked}を試しましたが、機能しません。check = {!this.state.checked}を試しましたが、これも機能しません。誰かがこの問題に遭遇しましたか?もしそうなら、どのようにこれを解決しましたか?

SaachiTech

現在、状態にはchecked、アイテムのチェックされた状態を格納する1つのパラメーターがあります。つまり、別のチェックボックスを選択するたびに、前の選択が失われます。複数の選択を許可するには、チェックボックスの状態の配列を管理する必要があります。これはさまざまなアプローチで実現できます。これが私が提案するアプローチです。

まず、コンストラクターを変更する必要があります

constructor(props) {
  super(props);
  const  { navigation } = props;
  const cust = navigation.getParam('food', 'No-User');
  const other_param = navigation.getParam('otherParam', 'No-User');
  const cust1 = JSON.parse(cust);
  //Here we will make array of object with additional parameter, checked
  //This assume cust1 will be ["Pecan Cookies", "Strawberry Cheesecake"]
  const data = cust1.map(item=>({label:item, checked:false});
  this.state = {
    dataSource: [],
    data,
    checked: null,
  }
}

それでは、レンダリング関数を更新しましょう

onChecked = (index) => {
  let {data} = this.state;
  data[index].checked = !data[index].checked;
  this.setState({data})
}
render() {
const { data} = this.state;
return (
<View style={styles.container}>
  <BackButtonMGMT navigation={this.props.navigation} />

  <FlatList data={data} extraData={this.state} keyExtractor={(item, index)=> index.toString()}
    renderItem={({ item, index }) => (
    <CheckBox center titleProps={{ color: 'black', fontWeight: 'bold'}} title={item.label} iconRight
      checked={item.checked} size={30} onPress={()=>this.onChecked(index)}
      containerStyle={styles.checkBox}
      />

      )}
      />

</View>
)
}

これにより、問題が解決するか、複数選択できるはずです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

反応ネイティブの反応ネイティブ要素ライブラリのチェックボックスを使用して、フラットリストから複数のアイテムを選択するにはどうすればよいですか?

分類Dev

反応ネイティブのチェックボックスでFlatListの個々のアイテムをチェックする方法は?

分類Dev

「選択ボックス」(Finder で複数のアイテムを選択するなど) の適切な用語は何ですか? (反応する)

分類Dev

ループでチェックボックスを処理する方法ネイティブの反応

分類Dev

フラットリストでアイテムを複数選択する方法はネイティブに反応します

分類Dev

チェックボックスを選択している間、Androidリストビューの複数のアイテムがチェックされます

分類Dev

ネイティブの複数ボタン選択に反応する

分類Dev

選択ボックスの値に応じて、選択ボックスからアイテムを削除する

分類Dev

componentDidMount()関数で複数のAPIリクエストをフェッチするとネイティブに反応します

分類Dev

変更されないチェックボックスはネイティブ要素に反応します

分類Dev

反応ネイティブのチェックボックスの状態に基づいてコンポーネントを表示/非表示にする

分類Dev

反応ネイティブでアイテムをフレックスボックスに揃える

分類Dev

アクティブコンボボックスでの選択に応じてチャートを生成する

分類Dev

チェックボックスのあるドロップダウンで複数のアイテムを選択します

分類Dev

反応ネイティブでJSON応答に動的チェックボックスを作成するにはどうすればよいですか?

分類Dev

MVCのチェックボックスを使用して選択したアイテムをクエリする

分類Dev

反応ネイティブでフレックスを使用してアイテムを下部に固定する

分類Dev

反応ネイティブでフレックスを使用してアイテムを下部に固定する

分類Dev

フレックスボックスとネイティブに反応して円の形を作成する方法

分類Dev

チェックボックスから選択したすべてのアイテムを表示する

分類Dev

ネイティブマッピングチェックボックスに反応して、個別にチェックする

分類Dev

ユーザーが特定のアイテムを選択すると、JQUERYはチェックボックスアイテムを無効にします

分類Dev

ng-角度6のリアクティブフォームを含む複数選択チェックボックスを選択します

分類Dev

以前の状態をチェックするネイティブに反応する

分類Dev

別の複数選択2ボックスから選択したアイテムを削除するときに、複数選択2ボックスから選択したアイテムを削除する

分類Dev

ボタンとダイアログのチェックボックスを使用してAndroidの複数のアイテムを選択し、選択したアイテムをボタンの代わりにリストビューに表示します

分類Dev

複数のチェックボックスを備えたEXTグリッド-アイテムを選択すると、別のアイテムの選択が解除されます

分類Dev

リストボックスアイテムの選択時にオブジェクトプロパティ値を表示する

分類Dev

反応-複数の選択を解除するとチェックボックスが更新されない

Related 関連記事

  1. 1

    反応ネイティブの反応ネイティブ要素ライブラリのチェックボックスを使用して、フラットリストから複数のアイテムを選択するにはどうすればよいですか?

  2. 2

    反応ネイティブのチェックボックスでFlatListの個々のアイテムをチェックする方法は?

  3. 3

    「選択ボックス」(Finder で複数のアイテムを選択するなど) の適切な用語は何ですか? (反応する)

  4. 4

    ループでチェックボックスを処理する方法ネイティブの反応

  5. 5

    フラットリストでアイテムを複数選択する方法はネイティブに反応します

  6. 6

    チェックボックスを選択している間、Androidリストビューの複数のアイテムがチェックされます

  7. 7

    ネイティブの複数ボタン選択に反応する

  8. 8

    選択ボックスの値に応じて、選択ボックスからアイテムを削除する

  9. 9

    componentDidMount()関数で複数のAPIリクエストをフェッチするとネイティブに反応します

  10. 10

    変更されないチェックボックスはネイティブ要素に反応します

  11. 11

    反応ネイティブのチェックボックスの状態に基づいてコンポーネントを表示/非表示にする

  12. 12

    反応ネイティブでアイテムをフレックスボックスに揃える

  13. 13

    アクティブコンボボックスでの選択に応じてチャートを生成する

  14. 14

    チェックボックスのあるドロップダウンで複数のアイテムを選択します

  15. 15

    反応ネイティブでJSON応答に動的チェックボックスを作成するにはどうすればよいですか?

  16. 16

    MVCのチェックボックスを使用して選択したアイテムをクエリする

  17. 17

    反応ネイティブでフレックスを使用してアイテムを下部に固定する

  18. 18

    反応ネイティブでフレックスを使用してアイテムを下部に固定する

  19. 19

    フレックスボックスとネイティブに反応して円の形を作成する方法

  20. 20

    チェックボックスから選択したすべてのアイテムを表示する

  21. 21

    ネイティブマッピングチェックボックスに反応して、個別にチェックする

  22. 22

    ユーザーが特定のアイテムを選択すると、JQUERYはチェックボックスアイテムを無効にします

  23. 23

    ng-角度6のリアクティブフォームを含む複数選択チェックボックスを選択します

  24. 24

    以前の状態をチェックするネイティブに反応する

  25. 25

    別の複数選択2ボックスから選択したアイテムを削除するときに、複数選択2ボックスから選択したアイテムを削除する

  26. 26

    ボタンとダイアログのチェックボックスを使用してAndroidの複数のアイテムを選択し、選択したアイテムをボタンの代わりにリストビューに表示します

  27. 27

    複数のチェックボックスを備えたEXTグリッド-アイテムを選択すると、別のアイテムの選択が解除されます

  28. 28

    リストボックスアイテムの選択時にオブジェクトプロパティ値を表示する

  29. 29

    反応-複数の選択を解除するとチェックボックスが更新されない

ホットタグ

アーカイブ