标签:ops mat class port one watch picker gettime 选择
父组件
<template>
<div>
<date-range @timeChange="timeChange" :time-arr="timeArr" label="日期范围" width="100" small="true" size="small"></date-range>
</div>
</template>
<script>
import dateRange from ‘../../selComponents/dateRange‘
export default {
components:{
dateRange
},
data() {
return {
timeArr:[],
};
},
methods: {
timeChange(val){
console.log(222)
console.log(val);
}
},
mounted(){
// 默认回填数据
this.timeArr = [‘2017-07-07‘,‘2018-09-09‘]
}
}
</script>
子组件
<template>
<div class="wrap">
<div style="width:100%;">
<span style="margin-top:0px;" :style="{‘width‘:width+‘px‘}" :class="{‘s-pre-small‘:small}">{{label}}</span>
<el-date-picker
style="width:100%;"
v-model="dateRange"
type="daterange"
align="right"
@change="timeChange"
placeholder="选择日期范围"
:picker-options="pickerOptions"
:size="size">
</el-date-picker>
</div>
</div>
</template>
<script>
export default{
props:{
label:{
default:‘所在区域‘
},
width:{
default:‘80‘
},
small:{
default:false
},
size:{
default:‘false‘
},
timeArr:{
default:[],
}
},
data(){
return {
dateRange:this.timeArr,
pickerOptions: {
shortcuts: [{
text: ‘最近一周‘,
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit(‘pick‘, [start, end]);
}
}, {
text: ‘最近一个月‘,
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit(‘pick‘, [start, end]);
}
}, {
text: ‘最近三个月‘,
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit(‘pick‘, [start, end]);
}
}]
},
}
},
watch:{
timeArr(val){
this.dateRange = val;
}
},
methods:{
timeChange(){
let tempTimeArr = [utils.formateDate(this.dateRange[0]),utils.formateDate(this.dateRange[1])];
this.$emit(‘timeChange‘,tempTimeArr);
}
},
mounted(){
}
}
</script>
<style lang="less" scoped>
.wrap{
width: 100%;
margin:0 auto;
}
</style>
标签:ops mat class port one watch picker gettime 选择
原文地址:http://www.cnblogs.com/amberge/p/7116126.html