vue 父传子值解决子组件不能时时更新问题

需求做一个侧栏的TAB切换,父组件修改数据子组件接收并更新页面主要为时间切换

今天做了一个父子传值;发现子组件能通过props拿到父组件的值,却不能更亲页面,后来用了watch事件也不行;最后发现只能用watch事件的深度监听

效果:

查看代码:

父组件: (时间列表)

  <div class="right-con">
          <!-- 时间列表 -->
            <div class="violations-date">
                <div class="select-data">
                    <p class="start-date"><input type="text" data-toggle='date' id="my-data" placeholder="日期" /></p>
                    <span class="to">至</span>
                    <p class="end-date"><input type="text" data-toggle='date' id="my-data2" placeholder="日期" /></p>
                </div>
            </div>
            <!--  放入子组件-->
            <div class="article">
               <!-- :paramsDate ="paramsDate" 为父组件传入子组件的值-->
                <types :is="currentView" keep-alive :paramsDate ="paramsDate"></types>
            </div>
        </div>

 父组件data;

 data() {
    return {
      paramsDate: {
            requestId: 54,
            wgDate: "", //用户点时间控件的时候传input
            endDate:'',//结束时间
        },
    };
  },

父组件:srcript

 methods: {
    selectDate() {
      //日期选择
      let self = this;
      $("#my-data").calendar({
        // 日期格式
        dateFormat: "yyyy-mm-dd",
        onChange(p, values, displayValues) {
          self.paramsDate.wgDate = values[0];
          self.paramsDate.requestId = 52;
        }
      });
      $("#my-data2").calendar({
        // 日期格式
        dateFormat: "yyyy-mm-dd",
        onChange(p, values, displayValues) {
          self.paramsDate.endDate = values[0];
          self.paramsDate.requestId = 53;

        },
        onClose() {
          if (self.paramsDate.endDate < self.paramsDate.wgDate) {
            $.toast("结束时间不能大于开始时间!");
          } else {
          }
        }
      });
    },
}

子组件接收值:props

export default {
 
  props: ["paramsDate"],
}

子组件watch深度监听并赋值

 watch: {
    paramsDate: {
      handler(newValue, oldValue) {
        this.params.wgDate = newValue.wgDate;
        this.params.endDate = newValue.endDate;
        this.init();
      },
      deep: true
    }
  }

 

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周家大小姐.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值