ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

vant-日期使用

2020-07-16 10:04:39  阅读:342  来源: 互联网

标签:return vant value else newVal 日期 result 使用 type


1、DatePicker.vue

<template>
    <div>
        <van-field
                v-model="result"
                v-bind="$attrs"
                readonly
                is-link
                @click="show = !show"
        />
        <van-popup v-model="show" position="bottom">
            <van-datetime-picker
                    show-postal
                    type="date"
                    :formatter="formatter"
                    :title="$attrs.label"
                    @cancel="show = !show"
                    @confirm="onConfirm"
                    @change="changeFn"
            />
        </van-popup>
    </div>
</template>

<script>
    export default {
        model: {
            prop: "selectValue"
        },
        props: {
            columns: {
                type: Array
            },
            selectValue: {
                type: String
            }
        },
        data() {
            return {
                show: false,
                result: this.selectValue
            };
        },
        methods: {
            onConfirm(value) {
                this.result = this.timeFormat(value);
                this.show = !this.show;
            },
            timeFormat(time) { // 时间格式化 2019-09-08
                let year = time.getFullYear();
                let month = time.getMonth() + 1;
                let day = time.getDate();
                return year + '-' + month + '-' + day;
            },
            // 选项格式化函数
            formatter (type, value) {
                if (type === 'year') {
                    return `${value}年`
                } else if (type === 'month') {
                    return `${value}月`
                } else if (type === 'day') {
                    return `${value}日`
                } else if (type === 'hour') {
                    return `${value}时`
                } else if (type === 'minute') {
                    return `${value}分`
                } else if (type === 'second') {
                    return `${value}秒`
                }
                return value
            },
            changeFn() { // 值变化是触发
                // this.result = this.result
            },
        },
        watch: {
            selectValue: function(newVal) {
                this.result = newVal;
            },
            result(newVal) {
                this.$emit("input", newVal);
            }
        }
    };
</script>

<style></style>

2、父组件引用

 <date-picker
      :label="item.label"
      placeholder="请选择"
      v-model="dataList[item.name]"
      :required="item.mandatory"
      :rules="[{ required: item.mandatory, message: '请选择'+item.label}]"
/>

 

标签:return,vant,value,else,newVal,日期,result,使用,type
来源: https://www.cnblogs.com/ivy-zheng/p/13321041.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有