您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關antd-DatePicker組件如何實現獲取時間值,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
DatePicker組件默認語言是英語,需要設置為中文的話,需要安裝moment。
import moment from "moment";
import "moment/locale/zh-cn"
format屬性,設置日期的格式,如“2020-02-28”。
設置日期
選擇日期是今天之前【包含今天】
需要和moment搭配應用
// 設置默認的起始日期 const disabledDate = (current) => { console.log(current) return current > moment().startOf('day'); } <DatePicker disabledDate={disabledDate}
效果如下圖:
如果是選擇今天之后的日期【包含今天】
const disabledDate = (current) => { console.log(current) return current > moment().startOf('day'); }
如圖:
關于moment的API,可以參考 moment 的具體文檔
獲取時間值
官網提供的函數:
function onChange(date, dateString) { console.log(date, dateString); // date 就是原始的日期數值,dateString 就是我們需要的日期格式 }
如果DatePicker組件嵌套在form表單里面,有兩種方式獲取日期值
第一種方式:
使用官網提供的函數,并在State中設置日期參數
constructor(){ super() this.state={ date:"" } } onChange = (value,dateString)=>{ this.setState({ date:dateString }) } handleSubmit1 = e => { const that = this; e.preventDefault(); this.props.form.validateFieldsAndScroll((err, values) => { if (!err) { console.log(values.date) that.setState({ date: that.state.date }) that.getData(1, 10, that.state.date); } }); };
<Form className="ant-advanced-search-form" onSubmit={this.handleSubmit1}> <div className="search-report"> <Form.Item label="日期"> {getFieldDecorator('date', { rules: [ { required: false, message: '選擇日期', }, ], })(<DatePicker onChange={this.onChange} format="YYYY-MM-DD" placeholder="選擇日期" />)} </Form.Item> <Button type="primary" htmlType="submit">查詢</Button> </div> </Form>
這種方式在提交表單的時候,直接從state中獲取日期參數值。
第二種方式:
使用moment轉換日期
handleSubmit3 = e => { e.preventDefault(); this.props.form.validateFieldsAndScroll((err, values) => { const data = moment(values.date).format('YYYY-MM-DD') console.log(data) }); };
補充知識:moment.js可以通過 .format()方法將時間變成字符串:
我就廢話不多說了,就是一行代碼的事,來看看吧~
moment(moment().add(1, 'M')).format(dateFormat)
關于antd-DatePicker組件如何實現獲取時間值就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。