【问题标题】:Component Exception in React Native?React Native 中的组件异常?
【发布时间】:2021-03-02 05:27:23
【问题描述】:

我使用这个库进行多项选择

https://openbase.io/js/react-native-multiple-select

我只是复制他们的代码,它只是复制粘贴代码,应该可以吗?

import React, { Component } from 'react';
import { View } from 'react-native';
import MultiSelect from 'react-native-multiple-select';

const items = [{
    id: '92iijs7yta',
    name: 'Ondo'
  }, {
    id: 'a0s0a8ssbsd',
    name: 'Ogun'
  }, {
    id: '16hbajsabsd',
    name: 'Calabar'
  }, {
    id: 'nahs75a5sg',
    name: 'Lagos'
  }, {
    id: '667atsas',
    name: 'Maiduguri'
  }, {
    id: 'hsyasajs',
    name: 'Anambra'
  }, {
    id: 'djsjudksjd',
    name: 'Benue'
  }, {
    id: 'sdhyaysdj',
    name: 'Kaduna'
  }, {
    id: 'suudydjsjd',
    name: 'Abuja'
    }
];

class MultiSelectExample extends Component {

  state = {
    selectedItems : []
  }; 

  
  onSelectedItemsChange = selectedItems => {
    this.setState({ selectedItems });
  };

  render() {
    const { selectedItems } = this.state;

    return (
      <View style={{ flex: 1 }}>
        <MultiSelect
          hideTags
          items={items}
          uniqueKey="id"
          ref={(component) => { this.multiSelect = component }}
          onSelectedItemsChange={this.onSelectedItemsChange}
          selectedItems={selectedItems}
          selectText="Pick Items"
          searchInputPlaceholderText="Search Items..."
          onChangeInput={ (text)=> console.log(text)}
          altFontFamily="ProximaNova-Light"
          tagRemoveIconColor="#CCC"
          tagBorderColor="#CCC"
          tagTextColor="#CCC"
          selectedItemTextColor="#CCC"
          selectedItemIconColor="#CCC"
          itemTextColor="#000"
          displayKey="name"
          searchInputStyle={{ color: '#CCC' }}
          submitButtonColor="#CCC"
          submitButtonText="Submit"
        />
        <View>
          {this.multiSelect.getSelectedItemsExt(selectedItems)}
        </View>
      </View>
    );
  }
}

我收到错误组件异常,有人可以帮我解决这个问题或给我一些其他库吗?因为代码很简单我不知道怎么行不通?

【问题讨论】:

    标签: javascript reactjs react-native multipleselection


    【解决方案1】:

    ref 名称从 component 更改为其他名称,例如 multiSelectRef

    ref={(multiSelectRef) => { this.multiSelect = multiSelectRef}}
    

    【讨论】:

    • 你能帮我解决这个问题吗?我会非常感激
    【解决方案2】:

    在使用这个包之前,确保你已经在你的项目中安装了 react-native-vector-icons。如果您还没有这样做,请转到给定的安装链接-https://www.npmjs.com/package/react-native-vector-icons

    【讨论】:

    • 您还有其他解决方案吗?
    猜你喜欢
    • 2021-07-02
    • 2021-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-15
    • 1970-01-01
    • 2022-01-08
    • 2021-01-08
    相关资源
    最近更新 更多