为什么我的占位符无法正确显示? (react-native-datepicker)

时间:2018-07-17 06:38:15

标签: javascript reactjs react-native

我很难让占位符正确显示在我用于反应本机的此日期选择器包中...

这是我进行组件设置的方式:

_onDateChange函数:

const _onDateChange = (startTime) => {
    pickDate(props.setPatrolStartTime, startTime)
    this.setState({startTime: props.setPatrolStartTime})
}

日期选择器组件:

<DatePicker
     //date={props.startTime}
     mode="datetime"
     iconComponent={ <Icon name='chevron-down' type='font-awesome' color='green'/> }
     style={ styles.datePickerStyle }
     placeholder={`Select Start Time`}
     confirmBtnText='Confirm'
     cancelBtnText='Cancel'
     customStyles={{
         dateInput:{
             borderWidth: 0,
         },
         dateText: {
             color: 'white',
             textAlign: 'left',
             fontSize: 20
         },
      }}
      onDateChange={this._onDateChange(props.startTime) }
      />

预期的行为::我认为它将在显示日期之前显示占位符,但是在我注释掉date道具以及在谷歌搜索和搜索之后,它将显示占位符在一段时间的stackoverflow中,我看到了很多帖子,有人说我需要绑定onDateChange属性,还有一些人要求我创建一个单独的onDateChange函数并从prop中调用它。

实际行为: 我似乎无法弄清楚如何绑定它,并且当我尝试如上所示调用它时,它会以红色显示,表示未定义不是函数,它引用了_onDateChange。当我尝试使用占位符道具时,除非我注释掉日期道具,否则占位符将不会显示;当我这样做时,它会显示占位符,除非我设置日期,否则占位符不会更改为我的日期。设置。

在这一点上,我无法真正弄清楚自己在做错什么。谁能给我一些意见?

谢谢!

4 个答案:

答案 0 :(得分:1)

您使用了反引号而不是普通引号,应该是

placeholder="Select start time"

您可以在github https://github.com/xgfe/react-native-datepicker

上查看示例

答案 1 :(得分:1)

尝试使用placeholderText代替placeholder

您可以从here

获取参考

答案 2 :(得分:0)

placeholder接受对象,但是,它需要字符串,如下所示:
 placeholder="select date"
不像这样: placeholder={"select date"}
同样,仅当this.props.date为false

时,才会显示占位符值。

答案 3 :(得分:0)

似乎是库中的错误,并且一年没有更新。如果要使用占位符阻止显示当前日期,您将需要将placeholder设置为非空字符串,并且该字符串应该可以正常工作。

输入值仍然需要虚假才能显示占位符(例如,空字符串作为日期/时间)。