React Native多个输入

时间:2017-07-11 12:18:42

标签: react-native

我实际上是为一个小工作制作一个应用程序,包括3个日期,并从那些3中计算多个其他日期。这些应该是例行检查的日期等... 我遇到了一个问题:我无法找到如何处理多个输入。我有3个DatePickers,看起来像这样:

<DatePicker
    dateMes={this.state.dateMes}
    mode="date"
    placeholder="select date"
    format="DD-MM-YYYY"
    minDate="01-01-1950"
    maxDate="01-01-2050"
    androidMode="spinner"
    showIcon={false}
    onDateChange={this.onDateChange}
/>

唯一改变的是dateMes(成为dateInit和dateLast)。 启动那些我有:

constructor(props) {
    super(props)
    this.state = { dateMes: "01-01-2000" }
    this.state = { dateLast: "01-01-2000"}
    this.state = { dateInit: "01-01-2000" }
}

我有点像菜鸟,所以这可能是一个基本问题。 我的问题是:我需要改变什么,以及我需要更改哪些名称才能使用3种不同的输入。

感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

你可以添加这个功能:

onDateChange = (state) => (event,value) => {
  this.setState({
    [state]:value
  });
}

并更改您的代码:

onDateChange={this.onDateChange}

到:

onDateChange={this.onDateChange('your state name'}

例如:

onDateChange={this.onDateChange('dateMes')}

也许可以帮到你:) 注意:您可以将构造函数方法更改为:

constructor(props) {
  super(props)
  this.state = { 
    dateMes: "01-01-2000",
    dateLast: "01-01-2000",
    dateInit: "01-01-2000"
  }
}

我认为这样更好,祝你好运:)。