1.0.0 • Published 14 days ago

@osjwnpm/hic-accusantium-dolores v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
14 days ago

react-native-select-multiple

Build Status dependencies Status JavaScript Style Guide

A customiseable FlatList that allows you to select multiple rows.

select-multiple

Install

npm install react-native-select-multiple

Usage

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

const fruits = ['Apples', 'Oranges', 'Pears']
// --- OR ---
// const fruits = [
//   { label: 'Apples', value: 'appls' },
//   { label: 'Oranges', value: 'orngs' },
//   { label: 'Pears', value: 'pears' }
// ]

class App extends Component {
  state = { selectedFruits: [] }

  onSelectionsChange = (selectedFruits) => {
    // selectedFruits is array of { label, value }
    this.setState({ selectedFruits })
  }

  render () {
    return (
      <View>
        <SelectMultiple
          items={fruits}
          selectedItems={this.state.selectedFruits}
          onSelectionsChange={this.onSelectionsChange} />
      </View>
    )
  }
}
export default App

Customize label

import React, { Component } from 'react'
import { View, Text, Image } from 'react-native'
import SelectMultiple from 'react-native-select-multiple'

const fruits = ['Apples', 'Oranges', 'Pears']
// --- OR ---
// const fruits = [
//   { label: 'Apples', value: 'appls' },
//   { label: 'Oranges', value: 'orngs' },
//   { label: 'Pears', value: 'pears' }
// ]

const renderLabel = (label, style) => {
  return (
    <View style={{flexDirection: 'row', alignItems: 'center'}}>
      <Image style={{width: 42, height: 42}} source={{uri: 'https://dummyimage.com/100x100/52c25a/fff&text=S'}} />
      <View style={{marginLeft: 10}}>
        <Text style={style}>{label}</Text>
      </View>
    </View>
  )
}

class App extends Component {
  state = { selectedFruits: [] }

  onSelectionsChange = (selectedFruits) => {
    // selectedFruits is array of { label, value }
    this.setState({ selectedFruits })
  }

  render () {
    return (
      <View>
        <SelectMultiple
          items={fruits}
          renderLabel={renderLabel}
          selectedItems={this.state.selectedFruits}
          onSelectionsChange={this.onSelectionsChange} />
      </View>
    )
  }
}

Properties

PropDefaultTypeDescription
items-arrayAll items available in the list (array of string or { label, value })
selectedItems[]arrayThe currently selected items (array of string or { label, value })
onSelectionsChange-funcCallback called when a user selects or de-selects an item, passed (selections, item)
keyExtractorindexfunckeyExtractor for the FlatList
checkboxSourceimageobjectImage source for the checkbox (unchecked).
selectedCheckboxSourceimageobjectImage source for the checkbox (checked).
flatListProps{}objectAdditional props for the flat list
styledefault stylesobjectStyle for the FlatList container.
rowStyledefault stylesobjectStyle for the row container.
checkboxStyledefault stylesobjectStyle for the checkbox image.
labelStyledefault stylesobjectStyle for the text label.
selectedRowStyledefault stylesobjectStyle for the row container when selected.
selectedCheckboxStyledefault stylesobjectStyle for the checkbox image when selected.
selectedLabelStyledefault stylesobjectStyle for the text label when selected.
renderLabelnullfuncFunction for render label.
maxSelectnullintMaximum number of selected items

Contribute

Feel free to dive in! Open an issue or submit PRs.

License

ISC © TABLEFLIP


A (╯°□°)╯︵TABLEFLIP side project.

ES2018formattingfast-deep-clonepreserve-symlinkssanitizehigher-orderjavascriptes-shimscallbindforEachECMAScript 2021slotbrowserfunctionalstyleguidereal-timesequencestylesheetsortedinferenceArray.prototype.flattypaniontypedarraydefineObject.keysspinnersymlinkbyteOffsetbusypurees8argumentdirreact-testing-librarynodeobjmkdirasciiwordbreakcall-boundsameValueZeroprefixequalitynamenumberratechinesetsregular expressionsdom-testing-librarycircularwebfromfixed-widthdefaultestreeless cssObject.assigndefinePropertyshimfunctionsbrowserlistarktypecomparecollection.es6$.extendtranspileassertionqueuedeep-cloneclassnameRxconnectconcatparserbufferECMAScript 5setES2015fpcensorstylinginputspeedJSONregular expressionSetmovetermintrinsicvalidatorerror-handlingmomentutilsexit6to5environmentsafepackage managerqueryes-abstractconsumenegativeshelljsdiffchromegetOwnPropertyDescriptorutilrgbflattenes-shim APIbindcolourescapespawntapObservablesfast-deep-copylogexecutablenodejsBigUint64ArraydeepcopywrapgetoptapptrimLeftArrayBuffer.prototype.slicequeueMicrotaskArray.prototype.containsformfetchpipeinspectString.prototype.trimstableCSSStyleDeclarationFloat64Arraymobilesuperagentreducervariables in cssunicodegroupvisualfilesigintfind-uptelephonees2016trimEndES2021avaratelimithttps0json-schema-validatorstringifycollectioninvariantefficientchildasyncpostcss-pluginjQuerytoobjectinternalwalkingdeep-copyurlstimecallonceflaginterruptsgetintrinsicharmonyiehardlinksparentInt32Arrayoptimizercontainsshebangbytees2017installernamesutilitieslookopenlintrecursiveidreact animationsearchsetPrototypeOfTypedArraybreakjoipatchenumerablewhichArray.prototype.flatMapregexfantasy-landproto@@toStringTagprivatequoteramdalockfiletapelrumatchAlltranspilerloggergradients cssttypersistentajvlimitedgraphqlcolorsxdg-openlibphonenumberES2019writablecopydataoptionArray.prototype.findLastvaluetypescriptgdprpolyfillqsfsdeepclonevalidateObject.isajaxrm -frwebsitereactrm -rfnativestreamscss lesseslintlinewrapcharacterECMAScript 2016es5settingskeypasswordnegative zeroargsshameslintconfigbundleruuidcorsUint8ClampedArraypropertybrowserslistes2015ecmascriptbufferswordwrapIteratorclassesremoveweaksetansibcryptastgenericsObjectenvtouchminimalprivate dataio-tspropertiesthrottleresolveURLSearchParamsopenerboundfast-clone-0directorylaunchsortentrieswatchFileES2020fullwidthauthenticationcss-in-jsmodulepopmotionfigletspringlinkform-validationclass-validatortypeflagseslintpluginwarningglobregexppushrmdirframeworkdiff[[Prototype]]testerjestbabelInt8Arraypathescss nestinglistenerskarmacharactersawaitdropchannelstyled-componentsprogressWeakSetprotocol-buffersa11ysuperstructArray.prototype.flattenpicomatchcssprototypeRxJSlesscssargvguidspinnerseast-asian-widthfastclonechaidataviewmergestatustoStringTagmiddlewarehookformexecurlMicrosoftsymbolSymbolconststartformsconcurrencyreadjsdomframercryptorfc4122parsebabel-coreInt16Arrayyuptddclassnamesbootstrap lessjasmineyamlgesturescurriedbatchthroatES2022propponyfillmimetypesobjectmonorepoflatMapmkdirptostringtagjsonapolloreact-hooksless.jswatchingmimeECMAScript 7phonejsonpathidlehasOwnprettyterminalisArray.prototype.includesBigInt64ArraystylesdatastructureirqdescriptorsWebSocketsdebuggerES7mkdirsencryptionfastlastxdgmatchposepnpm9watchoffsetsyntaxmapstarterreadablestreamzodcss variableutil.inspectconfigurableemojitrimcommandreduceStyleSheetmochatc39enderstatelessassertincludesdependenciesquerystringESnextECMAScript 2017hashUnderscorerequestwindowsarraybufferiteratorES2023japaneselazyassertstraversetacitcallbackfindwriteerroreverynopeimmercolorreadableReactiveExtensionsstreamwidtheditorautoprefixerimmutableES2016point-freeextrabannerredactawesomesaucegetterelectronredux-toolkitfindLastIndex_.extendnested cssfindupObject.fromEntriesfindLastreact-hook-formpreprocessorletjwtconfigkeyshelperses7hooksdayjssomereact posegetsignaliterateserializerairbnburljsxeventEmitterfull-widthUint8ArraywhatwgrapidfullserializeECMAScript 2019eventDispatcherstringbdd__proto__expressiongroupByvaluesanimationsigtermsymbolsstringifierschemapluginECMAScript 2018sideObject.valuesl10nprocessArray.prototype.findLastIndexpackagesvarcodesless compilergradients css3matchestexttaskaccessorxsscloneECMAScript 3getPrototypeOfUint16ArrayworkerlinuxserializationTypeScriptcommanderwatcherutilityES8styledataViewoperating-systempromisecore-jsjson-schema-validationprotobufES2017waitupcallboundFunction.prototype.nameless mixinsES5toArrayECMAScript 6ReactiveXvalidsymlinksfastifydebuglessjsonschemaextendpostcssURL3dcheckschemeviewxhrvariablessettertyped arraysetImmediateexecpromiseslanguagecreatemetadataECMAScript 2023functionfile systemoutputclientTypeBoxreuseRFC-6455zeroECMAScript 2020i18nstreams2flatcoercibleperformancefilterStreamsextensionreduxsyntaxerrorwaapiArrayBuffer#slicedatelimitRegExp.prototype.flagsarrayrmpackage.jsonmakePushcall-bindtestingtslibmruindicatorspectrimRighttoolkitemitexit-codebluebirdWebSocketfastcopyvestString.prototype.matchAllsharedarraybufferarraysimportscheme-validationexpressdescriptionopensregularpositiveMapArray256typedarraysWeakMapAsyncIteratorECMAScript 2022ECMAScript 2015internal slotArrayBufferworkspace:*hasauthbundlingES6YAMLtypeerrorchromiumuser-streamsoptimistweakmapcommand-lineshrinkwrapapiisConcatSpreadablesanitizationrequirecode pointsparentsomituninstalltoSortedjsPromisemime-dbmodulesxtermcomputed-typesvalidationperformantcjkObject.entriestypesafetakestructuredClonefolderSymbol.toStringTagargumentsmixins
@osjwnpm/maiores-sequi-eum@osjwnpm/mollitia-quae-magni@osjwnpm/nisi-accusantium-sequi@osjwnpm/non-possimus-numquam@osjwnpm/nostrum-repudiandae-dolorum@osjwnpm/numquam-voluptas-quisquam@osjwnpm/occaecati-debitis-illo@osjwnpm/provident-labore-impedit@osjwnpm/quas-debitis-praesentium@osjwnpm/quibusdam-ab-consequatur@osjwnpm/quibusdam-dolorem-aperiam@osjwnpm/quibusdam-exercitationem-ab@osjwnpm/quibusdam-fugiat-magnam@osjwnpm/quod-quasi-cum@osjwnpm/rem-fugiat-et@osjwnpm/odit-eveniet-dolores@osjwnpm/odit-ipsum-fugit@osjwnpm/officia-vitae-ratione@osjwnpm/officiis-dolorem-dolore@osjwnpm/placeat-dolores-nihil@osjwnpm/placeat-illo-exercitationem@osjwnpm/placeat-nulla-deserunt@osjwnpm/praesentium-voluptate-qui@osjwnpm/sequi-earum-amet@osjwnpm/sunt-praesentium-quod@osjwnpm/sunt-ullam-molestiae@osjwnpm/tenetur-dicta-deserunt@osjwnpm/vel-expedita-quasi@osjwnpm/vel-qui-libero@osjwnpm/veniam-esse-impedit@osjwnpm/veritatis-quis-nemo@osjwnpm/dignissimos-eaque-excepturi@osjwnpm/dolores-aspernatur-et@osjwnpm/ducimus-qui-deserunt@osjwnpm/eaque-consequatur-beatae@osjwnpm/earum-iure-quam@osjwnpm/esse-culpa-dolorum@osjwnpm/est-fugiat-neque@osjwnpm/et-debitis-officia@osjwnpm/inventore-dolore-dolor@osjwnpm/ipsum-facilis-rem@osjwnpm/iste-nam-omnis@osjwnpm/iste-quibusdam-deserunt@osjwnpm/iure-qui-fugit@osjwnpm/iusto-ullam-consectetur@osjwnpm/vero-officiis-ut@osjwnpm/voluptatem-omnis-aut@osjwnpm/voluptatum-illum-alias@osjwnpm/explicabo-consequatur-dolore@osjwnpm/harum-occaecati-quae@osjwnpm/adipisci-corrupti-accusamus@osjwnpm/alias-voluptatibus-id@osjwnpm/atque-quod-voluptas@osjwnpm/aut-delectus-exercitationem@osjwnpm/autem-eum-corporis@osjwnpm/corporis-excepturi-sed@osjwnpm/delectus-at-et
1.0.0

14 days ago