前情

最近又接手一个全新多端项目,包括抖音/快手/微信/支付宝,其中就有支付宝端,需要实现一个SKU选择,同时需要控制选择的商品数量,如下图

坑位

既然是选择商品数量,那就不能让它出现小于等于0的数,我的想法是通过表单的input事件触发限制方法,限制它的值只允许在外面传进来的minmax之间的值,我这里设置的是199,也就是它的值只能为1~99,通过左右加减是可以做到控制的,但是为更好的体验,允许用户直接输入数量

关键代码如下:

<template>
<input
v-model="inputValue"
controlled
type="number"
class="stepper-input"
@input="handleInput"
/>
</template> <script setup>
// ...
const inputValue = ref(1);
// 处理输入框输入
const handleInput = (e) => {
const value = e.detail.value;
// 其中props.min/max是从外面传进来的
const value = Math.max(props.min, Math.min(props.max, newValue));
inputValue.value = Number(value);
};
// ...
</script>

理想很丰满,现实很骨感,发现在支付宝表单可以输入任何数字,不受控制,但是我在handleInput里打印了日志,事件是有触发的

解决方案

给input加上controlled,让它变成受控组件,此时你修改inputValue的值是可以同步更新的

关键代码如下:

<template>
<input
v-model="inputValue"
controlled
type="number"
class="stepper-input"
@input="handleInput"
/>
</template>

文挡说明如下,文挡地址:input 输入框 - 支付宝文档中心

总结

支付宝小程序开发者应该是受React影响,才会出现受控和非受控,因为这二个概念是React里的

对于这种一端可以另一端不行的问题,一般就是平台的差异兼容问题,可以去对应平台的官方文挡看一下,也许能找到端倪,当然直接搜索引擎搜索也是可以的,对于做技术的我们每天都是在踩坑的路上,但我真心希望所有人都一路生花,少踩坑,也坚信坑坑难爬,坑坑过

uni-app项目支付宝端Input不受控的更多相关文章

  1. 【饿了么】—— Vue2.0高仿饿了么核心模块&移动端Web App项目爬坑(三)

    前言:接着上一篇项目总结,这一篇是学习过程记录的最后一篇,这里会梳理:评论组件.商家组件.优化.打包.相关资料链接.项目github地址:https://github.com/66Web/ljq_el ...

  2. 【原创分享·支付宝支付】HBuilder打包APP调用支付宝客户端支付

    前言 最近有点空余时间,所以,就研究了一下APP支付.前面很早就搞完APP的微信支付了,但是由于时间上和应用上的情况,支付宝一直没空去研究.然后等我空了的时候,发现支付宝居然升级了支付逻辑,虽然目前还 ...

  3. 到底为什么你的APP项目烂尾了?

    你正在经历迷茫.纠结,或者愤怒.痛苦的情绪,因为,你的APP项目已经或将要烂尾了. 目前的状况只有3种: 项目一直拖到现在,并且很可能继续拖下去 项目在开发期间不断上涨成本 项目完成,BUG多多,不能 ...

  4. 第一次,触碰Web App项目,栽过的那些坑。

    此项目是一个IPad上的Web App项目,页面的滚动用了最新的IScroll 5.0 插件, 确实是挺潮的. 项目用时 1个月 完成的, 准备今天晚上上线. 这是年前的最后一篇文章了,与众位博友分享 ...

  5. 网站的优化----首页优化---app调取服务端数据

    高并发经常会发生在有大活跃用户量来访问网站的某个点,例如用户高聚集的业务场景中,如:抢购,促销等.为了让用户流畅的访问网站,来根据自己的业务设计适合系统的处理方案. //对于APP网站首页数据,通常是 ...

  6. 无框架完整搭建安卓app及其服务端(一)

    技术背景: 我的一个项目做的的是图片处理,用 python 实现图片处理的核心功能后,想部署到安卓app中,但是对于一个对安卓和服务器都一知半解的小白来说要现学的东西太多了. 而实际上,我们的项目要求 ...

  7. PC/APP/H5三端测试的相同与不同

    随着手机应用的不断状态,同一款产品的移动端应用市场占相较PC端也越来越大,那么app与PC端针对这些产品的测试有什么相同与不同之处呢?总结如下: 首先谈一谈相同之处: 一,针对同一个系统功能的测试,三 ...

  8. APP和服务端-架构设计(一)

    架构因人而异,不同的架构师大多会有不同的看法:架构也因项目而异,不同的项目需求不同,相应的架构也会不同.然而,有些东西还是通用的,是所有架构师都需要考虑的,也是所有项目都会有的需求,比如API如何设计 ...

  9. uni app中使用自定义图标库

    项目中难免会用到自定义图标,那在uni app中应该怎么使用呢? 首先, 将图标目录放在static资源目录下: 在main.js中引入就可以全局使用了 import '@/static/icon-o ...

  10. 技术实践丨React Native 项目 Web 端同构

    摘要:尽管 React Native 已经进入开源的第 6 个年头,距离发布 1.0 版本依旧是遥遥无期."Learn once, write anywhere",完全不影响 Re ...

随机推荐

  1. docker入门基操~~~

    # Docker基本使用方式 - [Window 使用 Docker 创建lnmp环境 ](#introduction) - [常用docker命令 ](#command) ### [安装详情](ht ...

  2. java基础---构造函数

    封装 封装的步骤: 1. 使用private修饰需要被封装的属性. 2. 根据需要提供get或者set方法设置以及获取属性. 封装的好处: 1. 提高了数据的安全性. 2. 操作简单. 3. 隐藏了实 ...

  3. Word邮件合并

    Word邮件合并功能可以解决在Word中批量填写内容的需求,当需要大量格式相同,只修改少数相关内容时,例如利用Word制作工资条,通知函,奖状等等,同时操作也非常简单灵活.下面通过例子来说明邮件合并的 ...

  4. vs 代码格式化

    解决方案 ctrl + A: ctrl + K + F; 参考链接 (博客园大牛)[https://www.cnblogs.com/chenmingjun/p/8119029.html]

  5. cuda 如何安装 18.04 ubuntu

    简介 先安装好Nvdia 驱动 在安装cuda 安装方式 https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_ ...

  6. 抖音商单信息通过ETL工具快速同步

    一.抖音平台 抖音是一款热门的短视频社交平台,拥有海量用户和高度活跃的商业生态.在抖音上,商家可以开设商铺并发布商品,消费者可以在平台上购买商品并获得优惠.同时,抖音也是一个广告平台,商家可以通过购买 ...

  7. java配置环境变量采坑

    用几年java了,环境变量还要采坑 注意图中JAVA_HOME最后那个":",打开之后编辑环境变量的列表里是没有的,你得点击编辑文本把它删了

  8. Unity 根据前后帧位置自动旋转

    写在Update里面 var newPos = transform.position; if (lastPos != newPos) { targetRotation = Quaternion.Loo ...

  9. 记一次nginx访问快捷方式指向的文件夹失败的排查解决过程

    起因是项目上有一个文件域名,dns解析到linux系统的服务器上,有一个nginx服务反向代理了一个位于nas挂载盘内的文件目录,现在有一个新需求是让客户还是通过这个域名作为访问入口,访问同样位于na ...

  10. 对比 Excel 表格工具:Spreadsheet compare

    https://zhuanlan.zhihu.com/p/701533987 Spreadsheet compare 可以对比excel表格