vant 组件库使用中遇到的问题 —— vue

vant 官方文档

遇到的问题

van-field

  1. 输入框聚焦的时候,页面会自动放大(iPhone 手机)
    解决方案:
    public目录下的index.html文件的head进行以下设置
<!-- index.html -->
<head>
	<meta content="yes" name="apple-mobile-web-app-capable">
	<meta name="viewport" content="width=device-width,initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
</head>
  1. ios 端中使用不灵敏,目前收到的反馈是输入了一大串东西后,不能将焦点聚焦在中间的任何一个位置
    解决方案 (没有实践过不知道能否奏效)

https://blog.csdn.net/weixin_44207118/article/details/127668405

① npm 安装 fastclick 插件:npm install --save fastclick
main.js进行设置

// main.js
import  FastClick  from  'fastclick'
FastClick.prototype.focus = function (targetElement) {
  let length;
  //这是因为这些元素并没有selectionStart和selectionEnd的整型数字属性,所以一旦引用就会报错,因此排除这些属性才使用setSelectionRange方法
  if (targetElement.setSelectionRange && targetElement.type.indexOf('date') !== 0 && targetElement.type !== 'time' && targetElement.type !== 'month') {
    length = targetElement.value.length;
    targetElement.focus();
    targetElement.setSelectionRange(length, length);//修复bug ios 11.3不弹出键盘,这里加上聚焦代码,让其强制聚焦弹出键盘
  } else {
    targetElement.focus();
  }
};
FastClick.attach(document.body);

van-datetime-picker

  1. 日历控件的v-model一定是绑定的 object 类型
    之前我是van-datetime-picker组件的v-modelvan-fieldvalue一样绑定的都是字符串,每次选择日期的时候都会报错
    日期选择
    报错内容
    正确做法:
    van-datetime-pickerv-model一定绑定的是 object 类型,并且想要变量的值发生变化,需要使用@confirm的方法,赋值进去(选择器也一样)
    正确代码
    而且formatter设置的不是显示的值的格式,而是控件的格式(跟 ElementUI 不一样)
<van-datetime-picker v-model="dateObj" type="date" title="选择年月日" :max-date="maxDate"
                :min-date="minDate" @confirm="onDateConfirm" :formatter="formatter" />
methods: {
	// 日期选择器选项格式化
    formatter(type, val) {
        if (type === 'year') {
            return val + '-';
        }
        if (type === 'month') {
            return val + '-';
        }
        if (type === 'day') {
            return val + '-';
        }
        if(type==='hour') {
            return val + ':';
        }
        if(type==='minute') {
            return val;
        }
        return val;
    },
}

formatter

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值