0.0.1 • Published 4 years ago

@sushidesu/use-filter-select v0.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

@sushidesu/use-filter-select

Installation

for Yarn

yarn add @sushidesu/use-filter-select

for npm

npm install --save @sushidesu/use-filter-select

Example

import {
  useFilterSelect3Layers,
  jsonToFilterNode3Layers,
} from "@sushidesu/use-filter-select"
import data from "./data.json"

export const App = () => {
  // parse JSON
  const root = jsonToFilterNode3Layers(data)
  // use hook
  const [selects, values, setters] = useFilterSelect3Layers(
    root,
    // set default values (optional)
    {
      layer01: "sapporo",
      layer02: undefined,
      layer03: undefined,
    },
    // set first option (optional)
    {
      value: "",
      label: "Please select !!",
    }
  )

  console.log(values)

  return (
    <div>
      <div>
        {selects.map(({ options, ...props }, i) => (
          <select key={i} {...props}>
            {options.map((opt) => (
              <option key={opt.value} value={opt.value}>
                {opt.label}
              </option>
            ))}
          </select>
        ))}
      </div>
      <button
        onClick={() => {
          setters.setterLayer02("asahikawa")
        }}
      >
        set City to asahikawa
      </button>
    </div>
  )
}