0.0.8 • Published 1 year ago

react-native-input-search-bar v0.0.8

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

React-Native-Input-Search-Bar

A simple search bar component for React Native.

Build Status license NPM version Release Date npm download

TOC

Preview

preview

Installation

NPM

  • 1.Run npm i react-native-svg react-native-input-search-bar --save
    • or yarn add react-native-svg react-native-input-search-bar
  • 2.import ReactNativeInputSearchBar from 'react-native-input-search-bar'
    1. Run npx pod-install if you are using iOS, and react-native link if you are using Android. (this step is for react-native-svg)

Notes: You need to install react-native-svg first, because this component depends on it to render the search icon.

Getting Started

Add react-native-input-search-bar to your js file.

import ReactNativeInputSearchBar from 'react-native-input-search-bar'

Inside your component's render method, use ReactNativeInputSearchBar:

 render() {
     return (
         <View>
          <ReactNativeInputSearchBar
            onSubmitSearch={(_val) => {
              console.log(_val);
            }}
            ...
            buttonText="Search"
          />
         </View>
     );
 }

Basic usage

import ReactNativeInputSearchBar from 'react-native-input-search-bar'
import { useState } from 'react'

const SearchBar = () => {
  const [query, setQuery] = useState<string>('')
  const [activeSearch, setActiveSearch] = useState<boolean>(false)

  const onSubmitSearch = (val: string) => {
    setQuery(val)
  }

  return (
    <ReactNativeInputSearchBar
      onSubmitSearch={onSubmitSearch}
      onActiveSearch={setActiveSearch}
      inputTextStyle={{}}
      buttonStyle={{
        paddingHorizontal: 20
      }}
      buttonTextStyle={{}}
      searchToolContainerStyle={{ height: 40 }}
      inputContainerStyle={{
        backgroundColor: '#ffffff',
        borderWidth: 0.3,
        borderRadius: 20
      }}
      inputProps={{
        placeholder: 'Please enter your search query'
      }}
      buttonText="Search"
    />
  )
}

export default SearchBar

Props

Props for ReactNativeInputSearchBar

PropTypeDefaultDescription
onSubmitSearchfunctionCallback function when the search button is pressed.
onActiveSearchfunctionCallback function when the search bar is active.
inputTextStyleobjectStyle for the input text.
buttonStyleobjectStyle for the search button.
buttonTextStyleobjectStyle for the search button text.
searchToolContainerStyleobjectStyle for the search tool container.
inputContainerStyleobjectStyle for the input container.
inputPropsobjectProps for the input.
buttonTextstringText for the search button.
clearButtonbooleantrueWhether to show the clear button.
inputActiveColorstringColor for the input when active.
inputInactiveColorstringColor for the input when inactive.
iconStyleobjectStyle for the search icon.
customIconelementCustom icon for the search input icon.

TypeDefine for ReactNativeInputSearchBar

interface RNInputSearchBarProps {
  searchToolContainerStyle?: StyleProp<ViewStyle>
  clearButton?: boolean
  onActiveSearch: (val: boolean) => void
  onSubmitSearch: (val: string) => void
  inputActiveColor?: ColorValue
  inputInactiveColor?: ColorValue
  inputContainerStyle?: StyleProp<ViewStyle>
  inputTextStyle?: StyleProp<TextStyle>
  inputProps?: TextInputProps
  customIcon?: ReactNode
  iconStyle?: StyleProp<ViewStyle>
  buttonStyle?: StyleProp<ViewStyle>
  buttonText?: string
  buttonTextStyle?: StyleProp<TextStyle>
}

Reference

  • React Native is a JavaScript framework for writing real, natively rendering mobile applications for iOS and Android.

Contribution

If you have any questions or suggestions, please feel free to open an issue or pull request.

License

MIT License © 2022 funnyzak