首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在reactjs中从select2中获取值

如何在reactjs中从select2中获取值
EN

Stack Overflow用户
提问于 2022-03-10 06:31:25
回答 1查看 309关注 0票数 0

我正在使用adminlte主题,我将这个主题转换为reactjs,除了select2(多选择),一切都很好。

onselect,我试图触发处理程序,即userIdHandler,但它不触发

有两个案件:

具有多选择的

  1. 用户名: userIdHandler不工作
  2. 状态与单个选择: userIdHandler working

也请帮助我从多选择触发userIdHandler。

代码语言:javascript
运行
复制
import React, { useEffect, useState } from "react";
import { getTeam } from "../services/ApiCall/attendanceApiCall";

export default function TeamattendanceComponent() {
  const [team, setTeam] = useState([]);

  const userIdHandler = (e) => {
    console.log("hi", e.target.value);
  };

  useEffect(() => {
    const script = document.createElement("script");
    script.src = "myjs/content.js";
    script.async = true;
    document.body.appendChild(script);

    getTeam().then((res) => {
      console.log(res.data);
      setTeam(res.data);
    });
  }, []);
  return (
    <div className="content-wrapper">
      {/* Content Header (Page header) */}
      <div className="card">
        <div className="card-body row">
          <div className="col-4">
            <div className="form-group ">
              <label>User Name</label>
              
              <select
                id
                className="form-control select2"
                multiple="multiple"
                data-placeholder="Select a State"
                style={{ width: "100%" }}
                onChange={userIdHandler}
              >
                {team.map((user, key) => {
                  console.log("team data", team);
                  return (
                    <option key={key} value={user._id}>
                      {user.name}
                    </option>
                  );
                })}
              </select>
            </div>
          </div>

          <div className="col-4">
            <div className="form-group">
              <label>Status</label>
              <select id className="form-control" onChange={userIdHandler}>
                <option>Select</option>
                <option>ON</option>
                <option>OFF</option>
              </select>
            </div>
          </div>

          <div className="col-4">
            <div className="form-group">
              <label className="hidden-xs">&nbsp;</label>
              <input
                type="submit"
                className="btn btn-primary form-control"
                defaultValue="Filter"
              />
            </div>
          </div>
        </div>
      </div>
      {/* /.content */}
    </div>
  );
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-10 09:14:08

恐怕您没有使用常规选择的Select2元素。

首次安装react-selectnpm i --save react-select

以下是如何在Select2上定义多重选择:

代码语言:javascript
运行
复制
import Select from 'react-select';

const options = [{label: "option 1", value: 1}, {label: "option 2", value: 2}];

<Select
    isMulti
    options={options}
    onChange={userIdHandler}
  />

然后将userIdHandler` `函数更改为:

代码语言:javascript
运行
复制
const userIdHandler = (value) => {
    console.log(value);
  };

通过这种方式,它应该会打印您选择的labelvalue

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71419754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档