如何使用材料下拉获取所选值?

时间:2018-06-11 19:26:04

标签: javascript react-native

按照他们的例子,我试图让选定的值在之后发送到我的行动,但无法找到任何方法来获取它。有什么帮助吗?

import React, { Component } from 'react';
import { Dropdown } from 'react-native-material-dropdown';

class Example extends Component {
  constructor(props) {
    super(props)
    this.state = {
      category: undefined,
    }
  }
  onPost = () => {
    var { category } = this.state;
    console.log(category) // Undefined
  }
  render() {
    let category = [{
      value: 'Banana',
    }, {
      value: 'Mango',
    }, {
      value: 'Pear',
    }];

    return (
      <Dropdown
        label='Favorite Fruit'
        data={category}
      />
      <TouchableOpacity onPress={this.onPost}>
         <FontAwesome name="check" size={25} color="white" />
      </TouchableOpacity>
    );
  }
}

1 个答案:

答案 0 :(得分:0)

您可以使用onChangeText方法获取当前选定的值。您也可以通过props将其发送到处理程序方法,并将其用作您的应用程序需要。

示例:

render() {
  (...)
  <Dropdown
    label='Favorite Fruit'
    data={category}
    onChangeText(value => this.onChangeHandler(value)}
  />
  (...)
}

const onChangeHandler = (value) => {
  console.log(`Selected value: ${value}`);
}

希望有所帮助