2.5.0 • Published 7 months ago

react-textarea-with-suggest v2.5.0

Weekly downloads
38
License
MIT
Repository
github
Last release
7 months ago

react-textarea-with-suggest

Textarea with suggest for React app v2

GitHub package.json version (branch) NPM npm type definitions npm peer dependency version npm peer dependency version npm bundle size (version) Server Side Rendering

Last changes

You can find in CHANGELOG.md

Demo

You can try component here

Install

If you use npm

npm install --save react-textarea-with-suggest

or

yarn add react-textarea-with-suggest

Usage

To use built-in styles

import "react-textarea-with-suggest/lib/styles.css";

For functional component

import Textarea from "react-textarea-with-suggest";

const MyApp = (props) => {
    const [text, setText] = useState<string>("")
    const { results, search } = useMyOwnSearchResults();
    
    return <Textarea 
        className="myapp-textarea"
        value={text}
        onChange={({ target }) => setText({ target.value })}
        onSearch={(searchPhrase) => search(searchPhrase)}
        suggestList={results}
        searchMarker="@"
        autoFocus
    />
}

For class component

import Textarea from "react-textarea-with-suggest";
import { search } from "../actions"

export default class MyApp extends React.Component {
    state = { text: "" };
    
    render () {
        return <Textarea 
            className="myapp-textarea"
            value={text}
            onChange={({ target }) => this.setState({ text: target.value })}
            onSearch={(params) => this.props.search(params)}
            searchMarker="@"
            autoFocus
        />
    }
}

Params

NameDefault valueRequiredDescription
autosizableboolean: falsenousing <TextareaAutosize> instead of <textarea> if true
valuestring: ""noinitial text value for <textarea>
classNamestring: ""noclassName property for <textarea> element
searchMarkerchar: "@"noafter this symbol will be inited search and onSearch function
searchRegexpstring: /@(a-z0\d-.+a-z\d)/gimnodefault RegExp to detect search phrase after searchMarker
closeSuggestOnFocusOutboolean: falsenocloses suggest on focusout and returns back on focusin
cancelSearchOnFocusOutboolean: falsenocancelling search on focusout
onChangefunc: (event: React.ChangeEvent) => {}nofunction on change value in textarea
onSearchfunc: (searchPhrase: string) => {}yesfunction after input of searchMarker into textarea
suggestListarray: (string OR CustomType)[]: []norendering suggest when suggestList isn't empty, items rendering in customSuggestItemRenderer function
customSuggestItemRendererfunc: (searchListItem: string OR CustomType, isSelected: boolean) => ReactNodenocustom function for rendering each item in suggest, second argument is true if user navigates through items by keyboard and stops on current element
//customSuggestItemRenderer

(item) => 
    <div className="textarea-suggest-item" onClick={myOwnClickHandler}>
        <div className="textarea-suggest-item__info">
            <div>{item.name}</div>
            <div>{item.description}</div>
        </div>
    </div>
any else params for <textarea>--https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#Attributes

Using libraries

  • "react-textarea-autosize" (optionally)

License

Copyright (c) 2019 Mariia Lobareva Licensed under the The MIT License (MIT).

2.5.0

7 months ago

2.4.0

1 year ago

2.3.0

1 year ago

2.1.2

1 year ago

2.2.0

1 year ago

2.1.1

1 year ago

2.1.4

1 year ago

2.1.3

1 year ago

2.1.0

1 year ago

2.0.0

1 year ago

1.1.2

5 years ago

1.1.0

5 years ago

1.0.10

5 years ago

1.0.8-a

5 years ago

1.0.8

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago