vue element ui el-date-picker(日期选择器)实现联动联级选择效果。

需求:

页面上有三个 日期选则器。第一个只能选择月份,第二个是 年月, 第三个是年月日 。

然后第一个选择完毕 第二个、第三个自动带出年 。第二个选择月 第三个自动带出月。

效果图:

vue element ui el-date-picker(日期选择器)实现联动联级选择效果。_第1张图片

实现过程: 

 思路: 就是 一个简单的赋值 。第一个 change里 给第二个和第三个赋值 。第二个change里给第三个赋值。

代码:

 data() {
        return {
           pickerOptions: {
                    disabledDate(time) {
                        return time.getTime() > Date.now();
                    }
                },
          value1:"",
          value2:"",
          value3:""
        }
      
      },
  methods:{
      timeChange1(){
              console.log(this.value1)
           this.value2=this.value1+"-01";
           this.value3=this.value1+"-01"+"01";
            },
             timeChange2(){
               this.value3=this.value2+"-01";
            },
              timeChange3(){
              
            }
  }

element-ui date-picler联动效果 -在线示例

补充:

有人会发现 我 赋值时 给拼了 "-01" 原因是不拼会报错 。

TypeError: e.getFullYear is not a function。

vue element ui el-date-picker(日期选择器)实现联动联级选择效果。_第2张图片

这是因为 不符合 format 定义的类型 。 因为 第二个的  format是yyyy-MM  在第一个 里赋值是 只有 yyyy(第一个的结果是 2022) 没有 MM所以 需要 拼接一个 默认的 -01(01是MM) 。第二个 得到的结果应该是 2022-xx . 第三个同理需要  MM-dd .

其实这个还可以拓展 。当第二个动的时候第一个和第三个也跟着变 。第三个变的时候第一个和第二个也跟着变 。只需要在 change2,3里对 对应的value赋值即可 。

这个就是简单的select联动,效果。联动其实就是借用 change事件 修改 和它关联的 select。

比如:省市、区县、村镇联动。就是 先选了省市,然后在 省市的change里 设置区县的值,在区县的change里设置村镇的值。实际引用中 有的还需要 根据 前一个 获取后一个的值(接口获取),这种很常见。

你可能感兴趣的:(Vue,element-ui,vue.js,elementui,javascript)