0.1.1 • Published 3 years ago

@adecrown/react-native-multiple-tags v0.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

react-native-multiple-tags

Multiple Select using Tags

Demo

Installation

npm i -S @adecrown/react-native-multiple-tags

Usage

import React, { useState } from 'react';
import { View, Text } from 'react-native';
import MultipleTags from 'react-native-multiple-tags';

const tags = [
  'cherry',
  'mango',
  'cashew',
  'almond',
  'guava',
  'pineapple',
  'orange',
  'pear',
  'date',
  'strawberry',
  'pawpaw',
  'banana',
  'apple',
  'grape',
  'lemon',
];

const objectTags = [
  {
    key: 'id_01',
    value: 'cherry',
  },
  {
    key: 'id_02',
    value: 'mango',
  },
  {
    key: 'id_03',
    value: 'cashew',
  },
  {
    key: 'id_04',
    value: 'almond',
  },
  {
    key: 'id_05',
    value: 'guava',
  },
  {
    key: 'id_06',
    value: 'pineapple',
  },
  {
    key: 'id_07',
    value: 'orange',
  },
  {
    key: 'id_08',
    value: 'pear',
  },
  {
    key: 'id_09',
    value: 'date',
  },
];

const WelcomeComponent = () => {
  const [content, setContent] = useState([]);
  const [contentx, setContentx] = useState([]);

  return (
    <View>
      <MultipleTags
        tags={objectTags}
        search
        onChangeItem={setContent}
        title="Fruits"
      />
      {(() =>
        content.map((item) => (
          <Text key={item.key}>
            {' '}
            {item.key}: {item.value}{' '}
          </Text>
        )))()}
      <MultipleTags
        tags={tags}
        search
        onChangeItem={setContentx}
        title="Fruits"
      />
      {(() => contentx.map((item) => <Text key={item}> {item} </Text>))()}
    </View>
  );
};

export default WelcomeComponent;

You can add a custom tag by typing it and then pressing enter

Props


PropRequiredTypesPurpose
tagsYesarrayList of tags/items to display for selection. This can be array of objects or just an array of strings
preselectedTagsNoarrayList of tags/items to be selected on default. tags can be array of objects or array of strings.
objectKeyIdentifierNostringwhen using array of objects you can signify the key property of the object i.e objectTags = [{ id: 'id_01', name: 'cherry' }] and that becomes objectKeyIdentifier = 'id' , default is key
objectValueIdentifierNostringwhen using array of objects you can signify the value property of the object i.e objectTags = [{ id: 'id_01', name: 'cherry' }] and that becomes objectValueIdentifier = 'name', default is value
searchNobooleanset search to false to hide the search bar.
onChangeItemYesfunctionJavaScript function passed in as an argument. This function is called whenever items are added or removed in the component.
titleNostringThe Name or Category of tags.
iconAddNameNostringName of icon to be used instead of the regular +, icon name must be of Ionicons in react-native-vector-icons
searchHitResponseNostringText to display when search query hits nothing.
defaultInstructionClosedNostringText to instruct users what to do when closed
defaultTotalRenderedTagsNonumberTotal number of tags to show or render, default is 30
defaultInstructionOpenNostringText to instruct users what to do when opened
sizeIconTagNonumberSize Icon of add (plus) item.
showIconAddNobooleanSet false if you want hide the Add Icon.
labelActiveTagNoobjectCustom style for active tag label.
tagActiveStyleNoobjectCustom style for active tag.
visibleOnOpenNoboolean
defaultInstructionStyleNoobjectcustom style for default instructions
placeholderNostringinput placeholder
inputStyleNoobjectcustom style for input field.
allowCustomTagsNobooleanbool to allow users to input new tags not in the originial tags array. Defaults to true

You can add a tag that is not in the list by hiting enter.

Todo

  • make it more attractive..

PR's are welcome

0.1.0

3 years ago

0.1.1

3 years ago

0.1.0-1

3 years ago

0.1.0-0

3 years ago

0.1.0-2

3 years ago

0.0.12

3 years ago

0.0.11

3 years ago

0.0.10

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago