ชัดเจนหลายตอบโต้เลือก

0

คำถาม

ผมมีเลือก:

<Select isClearable classNamePrefix="select" ref={myRef} menuPortalTarget={document.body} styles={style} placeholder="Select Foods" name="Foods" value={inputField.foods} options={options} onChange={event => handleInputChange2(index, event)} className="select selectNarrow">

และฉันมีปุ่มนั่นคือการล้างทั้งหมดเลือก:

<IconButton size="small" aria-label="edit" onClick={() => handleRemoveFieldsAll(index)}><RemoveCircleIcon /></IconButton>

ฟังก์ชัน:

const handleRemoveFieldsAll = (index, event) => {
    const values = [...inputFields];
    setInputFields(INITIAL_STATE);
    values.splice(0);
    console.log(values);
  };

มันทำงานโดยการเอาออกและกำลังหยิบอาเรย์แต่ป้ายชื่อของเลือกพวกซากต่างๆออกมา ยังไงฉันชัดเจนทั้งหมดที่ฉลากลับไปที่คราวที่เยี่ยม?

react-select reactjs
2021-11-24 06:38:37
1

คำตอบที่ดีที่สุด

0

ลองนี้มากครับ

ฉันต้องสร้างสองอเมริกาท้องถิ่นอยู่ที่นี่ หนึ่งสำหรับตัวเลือกและอีกคนสำหรับคอนที่เลือกไว้ออกตัวเลือก. กำลังปรับปรุงรัฐดูจากคลิกที่ปุ่มเดียวกันเปลี่ยนแปลงจะได้ไตร่ตรองในต้นแบบ.

import { IconButton } from "@material-ui/core";
import { useState } from "react";
import Select from "react-select";

import "./styles.css";

const opts = [
  { value: "chocolate", label: "Chocolate" },
  { value: "strawberry", label: "Strawberry" },
  { value: "vanilla", label: "Vanilla" }
];

export default function App() {
  const [options, setOptions] = useState(opts);
  const [selected, setSelected] = useState(opts[0]);
  const handleRemoveFieldsAll = (event) => {
    setSelected(null);
    setOptions([]);
  };

  const handleInputChange2 = (option) => {
    setSelected(option);
  };

  const handlePopulateFieldsAll = () => {
    setSelected(opts[0]);
    setOptions(opts);
  };

  return (
    <div className="App">
      <h1>Hello CodeSandbox</h1>
      <Select
        isClearable
        classNamePrefix="select"
        // ref={myRef}
        menuPortalTarget={document.body}
        // styles={style}
        placeholder="Select Foods"
        name="Foods"
        value={selected}
        options={options}
        onChange={(event) => handleInputChange2(event)}
        className="select selectNarrow"
      ></Select>

      <IconButton
        size="small"
        aria-label="edit"
        onClick={() => handleRemoveFieldsAll()}
      >
        Reset all
      </IconButton>

      <IconButton
        size="small"
        aria-label="edit"
        onClick={() => handlePopulateFieldsAll()}
      >
        Populate all
      </IconButton>
    </div>
  );
}

CODESANDBOX- https://codesandbox.io/s/intelligent-moore-nn8w5?file=/src/App.js:0-1483

บอกให้ฉันรู้ในกรณีที่ฉันไม่ใช่ใบบัวมาปิดไม่มิดหรอกใช้กรณีนี้

2021-11-24 08:07:36

ดูเหมือนว่าเรื่องนี้จะทำงานในกรณีของคุณฉันกำลังพยายามใช้ myRef.ปัจจุบัน.เลือก.clearValue()...แต่นี่เดียวที่ล้างเมื่อเลือก(มันมีหลาย)มากกว่าทั้งหมด ดังนั้นฉันเป็นรถ nulling ที่อาเรย์แต่คราวที่เยี่ยมยังคงเหลือ
Paul VI

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่