这篇文章主要介绍了日期组件的范围控制和使用,使用两个日期选择框。
HTML文件
1 2 3 4 5 6 7 8 9
| <Row> <Col span="11"> <DatePicker :options="sTim" v-model="startTime"></DatePicker> </Col> <Col span="2" style="text-align:center">-</Col> <Col span="11"> <DatePicker :options="eTim" v-model="endTime"></DatePicker> </Col> </Row>
|
监听日期参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| watch: { "startTime": function (val) { if(!val) return this.eTim = {} this.eTim = { disabledDate: date => { let start = val? new Date(val).valueOf(): '' return date && (date.valueOf() < start) } } }, "endTime": function (val) { if(!val) return this.sTim = {} this.sTim = { disabledDate: date => { let end = val? new Date(val).valueOf(): '' return date && (date.valueOf() > end) } } } },
|
或者简化为
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| watch: { "startTime": function (val) { this.dateRange('eTim', val) }, "endTime": function (val) { this.dateRange('sTim', val, 1) } }, methods: { dateRange: function (option, val, type) { if (!val) return this[option] = {} this[option] = { disabledDate: date => { let end = val ? new Date(val).valueOf() : '' return date && type ? (date.valueOf() > end) : (date.valueOf() < end) } } }, }
|