2017-04-18 60 views
0

我使用的反应,日期选择器模块中我的反应,终极版应用程序,我做到了与终极版的形式这样的兼容:默认值的反应,日期选择器

const MyDatePicker = props => (
    <div> 
    <DatePicker 
     {...props.input} 
     dateFormat="DD-MM-YYYY" 
     selected={props.input.value 
     ? moment(props.input.value, 'DD-MM-YYYY') 
     : null} 
     placeholderText={props.placeholder} 
     disabled={props.disabled} 
    /> 
    { 
     props.meta.touched && props.meta.error && 
     <span className="error"> 
     { props.intl.formatMessage({ id: props.meta.error }) } 
     </span> 
    } 
    </div> 
); 

的问题是,我不知道如何在我的模块中添加一个默认值。此默认值必须是今天。任何想法如何处理这个?

+2

尝试此,选择= {props.input.value ?瞬间(props.input.value,'DD-MM-YYYY') :moment()} – Ved

+0

不错,它工作。谢谢!! – user7334203

+0

很好。欢迎。 – Ved

回答

1

变化:

selected={props.input.value 
     ? moment(props.input.value, 'DD-MM-YYYY') 
     : null} 

T0

selected={props.input.value ? moment(props.input.value, 'DD-MM-YYYY') : moment()} 


const MyDatePicker = props => (
    <div> 
    <DatePicker 
     {...props.input} 
     dateFormat="DD-MM-YYYY" 
    selected={props.input.value ? moment(props.input.value, 'DD-MM-YYYY') : moment()} 
     placeholderText={props.placeholder} 
     disabled={props.disabled} 
    /> 
    { 
     props.meta.touched && props.meta.error && 
     <span className="error"> 
     { props.intl.formatMessage({ id: props.meta.error }) } 
     </span> 
    } 
    </div> 
); 
1

您应该使用moment(dt).format()格式化日期

const MyDatePicker = props => { 
    var date = new Date(); 
    var todayDate = moment(date).format('DD-MM-YYYY'); 
    return (
    <div> 
    <DatePicker 
     {...props.input} 
     dateFormat="DD-MM-YYYY" 
     selected={props.input.value 
     ? moment(props.input.value).format('DD-MM-YYYY') 
     : todayDate} 
     placeholderText={props.placeholder} 
     disabled={props.disabled} 
    /> 
    { 
     props.meta.touched && props.meta.error && 
     <span className="error"> 
     { props.intl.formatMessage({ id: props.meta.error }) } 
     </span> 
    } 
    </div> 
); 
}