前情

uni-app是我很喜欢的跨平台框架,它能开发小程序,H5,APP(安卓/iOS),对前端开发很友好,自带的IDE让开发体验也很棒,公司项目就是主推uni-app。

坑位

最近在做一个input字数限制的需求,但是对于如果你输入有emoji表情的时候会出现在APP端和h5端表现不一致,app端表情算一个长度,而H5端则算2个。

Why?

猜测是uniapp的兼容BUG,app端和h5端未处理成一致

解决方案

对于有emoji的场景暂时放弃使用 maxlength,通过使用v-model+watch+lodash来实现,lodash字符串转数组的时候会把表情当一位处理,于是有如下代码。

template代码如下:

...
<input class="uni-input" placeholder="请设置群名称" v-model="newName" />
...
import { toArray } from 'lodash';
...
watch: {
newName(newVal) {
let nameArr = toArray(newVal);
if (nameArr.length <= 28) {
return;
}
nameArr = nameArr.slice(0, 28);
setTimeout(() => {
this.newName = nameArr.join('');
}, 100);
}
}
...

至此完成了input字数限制28个的需求,如果你有更好的方式,期待你的分享。

Uniapp input的maxlength问题的更多相关文章

  1. html input size maxlength

    最近做项目用到input的size和maxlength属性,以前只顾用没有用心去看看这2个标签的区别,今天周末baidu了一下,有所理解.特记录于此!   <p>Name: <inp ...

  2. HTML中input标签maxlength属性的妙处

    HTML中的input标签可是很常用的. HTML本身也非常简单,就是若干标签,每个标签有若干属性. 我在学习HTML的过程中,也没有太过重视. 今年,在写前端表单验证的时候,发现maxlength这 ...

  3. uniapp input框聚焦时软键盘弹起整个页面上滑,固定页面不让上滑问题

    根据需求,软键盘弹起时,不允许页面整体向上滑动 用到的属性是:  :adjust-position="false" uni-app 软键盘顶起底部fixed定位的输入框 页面就不会 ...

  4. uni-app input text-indent失效解决

    有两种方法去解决 第一种 input { padding-left: 10upt } 第二种 input { display: block }

  5. 《JavaScript 源码分析》之 maxlength.js

    /* @author: Terry @params: feedback - the selector for the element that gives the user feedback. Not ...

  6. 限制input输入字符数(中文2个字符,英文1个字符)

    input的maxlength可以限制input的输入的字符数,但是是字符串的长度,相当于判断str.length;然而经常会有中文字符算2个字符英文算1个字符的需求,目前只能通过编写代码来实现. & ...

  7. textbox和input限制文字长度

    textbox 看下面 要求(限制140,并且显示还剩余多少个文字) <asp:textbox id="txt_xm" runat="server" on ...

  8. [小程序]微信小程序获取input并发送网络请求

    1. 获取输入框数据wxml中的input上增加bindinput属性,和方法值在js部分定义与之对应的方法,只要在输入的时候,数据就会绑定调用到该方法,存入data属性变量中 2. 调用get请求发 ...

  9. Vue自定义指令实现input限制输入正整数

    directive.js import Vue from 'vue' export default () => { Vue.directive('Int', { inserted: functi ...

  10. uni-app微信小程序文本框计数功能

    <view> <textarea placeholder="请输入" @input="sumfontnum" :maxlength=" ...

随机推荐

  1. ScanFormer:逐层抵达目标,基于特征金字塔的指代表达理解框架 | CVPR'24

    指代表达理解(REC)旨在在图像中定位由自由形式自然语言描述指定的目标对象.尽管最先进的方法取得了令人印象深刻的性能,但它们对图像进行了密集感知,包含与语言查询无关的多余视觉区域,导致额外的计算开销. ...

  2. java基础 -反射笔记

    710,反射快速入门 代码: 先创建一个 re.properties 文件: classfullpath=com.hspedu.Cat method=hi Cat.java package com.h ...

  3. 日干算命api接口_json数据_性格/爱情/事业/财运/健康运势免费接口

    ​ 该API接口基于传统的八字学原理,通过用户提供的日干信息,为用户提供性格.爱情.事业.财运和健康等多方面的运势分析和建议.以下是该接口的详细介绍: ‌一.功能概述‌ ‌性格分析‌:根据用户的日干信 ...

  4. Android usb广播 ACTION_USB_DEVICE_ATTACHED流程源码分析

    整体流程图 大概意思就是UsbHostManager启动监控线程,monitorUsbHostBus会调用usb_host_run函数(使用inotify来监听USB设备的插拔)不停的读取bus总线, ...

  5. Linux-USB驱动笔记-Gadget Function驱动

    1.前言 在Linux-USB驱动笔记(四)–USB整体框架中有説到Gadget Function驱动,下面我们来具体看一下. Gadget Function就是指设备的功能,比如作为U盘,需要文件存 ...

  6. Android JIT

    Android JIT(Just-In-Time)编译是一种动态编译技术,在运行时将字节码转换为机器码,以提高应用程序的执行效率.与静态编译不同,JIT编译是在应用程序运行时进行的,因此可以在程序执行 ...

  7. Perfetto分析进阶

    一.Perfetto介绍 Perfetto是Android Q中引入的全新下一代平台级跟踪工具,为Android.Linux和Chrome平台提供了一种通用的性能检测和跟踪分析工具集.其核心是引入了一 ...

  8. sigmod、tanh、ReLU激活函数的实现

    import torch import torch.nn.functional as F import matplotlib.pyplot as plt import numpy as np x = ...

  9. .NET周刊【10月第1期 2024-10-06】

    国内文章 基于DPAPI+RDP技术实现本地打开远程程序,并映射到本地机器桌面上 https://www.cnblogs.com/weskynet/p/18445584 该教程讲述如何使用Remote ...

  10. yarn serve 开启项目服务失败 assets emit different content to the same filename

    error: answer: 删除public的文件,重新 yarn serve :