Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在筛选多选时调用服务器_Javascript_Reactjs_React Hooks_Multi Select_React Select Search - Fatal编程技术网

Javascript 如何在筛选多选时调用服务器

Javascript 如何在筛选多选时调用服务器,javascript,reactjs,react-hooks,multi-select,react-select-search,Javascript,Reactjs,React Hooks,Multi Select,React Select Search,每次用户键入Multiselect输入以基于搜索查询检索数据时,我都需要向服务器发出请求 如果我将列表设置为固定值,它将正常工作并过滤列表 import MultiSelect from "react-multi-select-component"; ... const options = [ { label: "Grapes You could make use of filterOptions props MultiSelect component. The functions

每次用户键入
Multiselect
输入以基于搜索查询检索数据时,我都需要向服务器发出请求

如果我将列表设置为固定值,它将正常工作并过滤列表

import MultiSelect from "react-multi-select-component";
...


const options = [
    { label: "Grapes You could make use of 
filterOptions
props MultiSelect component. The functions passed in the props will be triggered when user types in the
Multiselect
input.

But the
onChange
will be triggered only on selection of options.

import React, { useState } from "react";
import MultiSelect from "react-multi-select-component";

const Example: React.FC = () => {
  const options = [];
  const [selected, setSelected] = useState([]);

  const handleChange = e => {
   // Triggered for option select
  }
  function filterOptions(options, filter) {
    // Triggered for filter input changes
  }

  return (
    <div>
      <pre>{JSON.stringify(selected)}</pre>
      <MultiSelect
        options={options}
        value={selected}
        onChange={handleChange}
        labelledBy={"Select"}
        filterOptions={filterOptions}
      />
    </div>
  );
};

export default Example;

从“反应多选组件”导入多选;
...
常量选项=[

{label:“Grapes您可以使用
过滤器选项
道具多选组件。 当用户在
Multiselect
输入中键入时,将触发在props中传递的函数

但是,只有在选择选项时才会触发
onChange

import React,{useState}来自“React”;
从“反应多选组件”导入多选组件;
常量示例:React.FC=()=>{
常量选项=[];
const[selected,setSelected]=useState([]);
常量handleChange=e=>{
//触发选项选择
}
功能过滤器选项(选项、过滤器){
//过滤器输入更改触发
}
返回(
{JSON.stringify(选定)}
);
};
导出默认示例;

search\u list
函数在哪里调用?@Esther-I在
MultiSelect
onChange props上,我更新了这个问题。谢谢你的帮助,但我认为我离答案还有一步之遥,我在应用
filterOptions
后更新了这个问题,但得到的错误是只要
MultiSele的值ct
not empty它一直在调用服务器,但当我清除该值时它停止了。我认为问题是因为“set_invoices(temp_invoices)”,因为它会导致重新渲染组件