为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 selectedOption 中获取值并显示它

如何从 selectedOption 中获取值并显示它

摇曳的蔷薇 2021-10-29 17:02:37
我只想向你展示它收到的价值    handleChange = (selectedOption, e) => {    e.preventDefault();    this.setState({        selectedOption    });    console.log(selectedOption);}render() {    let options = [];    if (this.state.cityName && this.state.cityName.length > 0) {        options = this.state.cityName.map((cityName) => {            return {                value: cityName.AdministrativeArea.LocalizedName,                label: cityName.AdministrativeArea.LocalizedName,                id: cityName.Key            };        })    }    return (        <div className="container">            <h1 htmlFor="Search">Search</h1>            <Select                name="htmlForm-field-name"                value={this.state.value}                onChange={(e) => this.handleChange}                defaultValue='Jerusalem'                options={options}            />            <div>                <ul>                    {this.state.value}                </ul>如何使用 selectedOption 进行操作另一个问题是如何在 API 中执行 defaultValue?
查看完整描述

2 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

您正在使用this.state.value但正在更新this.state.selectedOption. 两者必须相同。我认为您正在使用 Material UI Select 所以我也这样做:


import React, { Component } from "react";

import { Select, MenuItem } from '@material-ui/core';


class Test extends Component {

  state = {

    selectedOption: ""

  };


  handleChange = selectedOption => {

    this.setState({

      selectedOption

    });

    console.log(selectedOption);

  };


  render() {

    let options = [];

    if (this.state.cityName && this.state.cityName.length > 0) {

      options = this.state.cityName.map(cityName => {

        return {

          value: cityName.AdministrativeArea.LocalizedName,

          label: cityName.AdministrativeArea.LocalizedName,

          id: cityName.Key

        };

      });

    }

    const { selectedOption } = this.state;

    return (

      <div className="container">

        <h1 htmlFor="Search">Search</h1>

        <Select

          name="htmlForm-field-name"

          value={selectedOption}

          onChange={e => this.handleChange(e.target.value)}

        >

          {options.map(o => <MenuItem value={o.value}>{o.label}</MenuItem>)}

        </Select>

        <div>

          <ul>{selectedOption}</ul>

        </div>

      </div>

    );

  }

}


export default Test;


查看完整回答
反对 回复 2021-10-29
?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

工作示例:


import React, { Component } from "react";

import Select from "react-select";


class App extends Component {

  handleChange = el => {

    console.log(el.value);

  };


  render() {

    return (

      <div>

        <Select

          style={{ width: 100 }}

          onChange={this.handleChange}

          options={[

            { value: "green", label: "Green", color: "#36B37E" },

            { value: "forest", label: "Forest", color: "#00875A" },

            { value: "slate", label: "Slate", color: "#253858" },

            { value: "silver", label: "Silver", color: "#666666" }

          ]}

        />

      </div>

    );

  }

}


export default App;


查看完整回答
反对 回复 2021-10-29
  • 2 回答
  • 0 关注
  • 208 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号