import { Accessor, Component, createEffect, Setter } from "solid-js"; import { cityList } from "../consts"; export const SelectCity: Component<{ getCities: Accessor>, setCities: Setter>, }> = ({ getCities, setCities }) => { function handleSelect(e: MouseEvent) { if (!e.target) return; const target = e.target as HTMLInputElement; const { checked: selected, value: city } = target; const selectedCities = new Set([...getCities()]); if (selected) selectedCities.add(city); else selectedCities.delete(city); setCities(selectedCities); } function selectAll(e: MouseEvent) { if (!e.target) return; const target = e.target as HTMLInputElement; const selectedCities = target.checked ? new Set([...cityList]) : new Set([]); setCities(selectedCities); } return (
Select all
    {cityList.map(city =>
  • )}
); };