问题:在vue中直接调用laydate,发现点击两次才能获取到数据。代码如下:

<input type="text" οnclick="laydate({format:'YYYY-MM-DD hh:mm:ss',istime:true})"v-model="start_time">

解决:不再直接调用,而是JS外部调用。代码如下:

html代码:

<input id="startTime" type="text">

js代码:

laydate({

    elem: '#startTime',

    format: 'YYYY-MM-DD hh:mm:ss', // 分隔符可以任意定义

    istime: true,

    choose: function(dates){ // 选择日期完毕的回调

        _this.start_time=dates;

    }

});

遇见bug:Cannot read property ‘toLocaleLowerCase’ of undefined

解决:elem参数传入的只是目标元素名称而非目标节点,导致elem.tagName 为underfine 自然就没有 toLocaleLowerCase() 才会导致这个错误。

elem: '#startTime' 改为 $('#startTime')[0]

Logo

前往低代码交流专区

更多推荐