前情

最近又接手一个全新多端项目,包括抖音/快手/微信/支付宝,其中就有支付宝端,需要实现一个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. C# 泛型对象转Get请求参数

    /// <summary>        /// 对象转Get请求参数        /// </summary>        /// <returns>< ...

  2. 《MySQL实战45讲》个人笔记-实战篇

    拜读了林晓斌大佬的<MySQL实战45讲>,特意做个知识点总结,以便后期回忆. 09.普通索引和唯一索引,应该怎么选择? 查询时:普通索引找到第一个后,还会往下找,直到碰到第一个不满足条件 ...

  3. Hadoop:HDFS设计原理

    一.HDFS组成结构 1.NameNode 相当于Master,主要存储文件的元数据(文件名.目录结构.文件属性等),以及每个文件的块列表和块所在的DataNode. 配置副本策略,管理数据库映射信息 ...

  4. Docker永远在“docker desktop starting .”Settings 一直在转圈

    一些用户抱怨Docker 需要很长时间才能启动.这是一个众所周知的问题,用户多年来一直报告.因此,如果您是遇到此问题的用户之一,请不要担心.您可以通过在计算机上执行这些简单的步骤轻松解决问题. 有些用 ...

  5. Windows下python环境安装与管理

    Python功能强大,适合多种应用场景.安装合适的python环境是开发的第一步.下面是Windows环境下Python环境的安装与管理实战方法. 一.在线环境安装 如果需要安装的环境可以连接互联网, ...

  6. Django+Celery 进阶:动态定时任务的添加、修改与智能调度实战

    一.Celery定时任务 Celery Beat 介绍 Celery Beat 是 Celery 框架的一个内置组件,专门用于定时任务调度.它可以按照预设的时间规则(如固定间隔.特定时间点.CRON ...

  7. OverallAuth权限管理系统,超精度权限划分(第一篇:功能级权限)。

    一.前言 随着信息化系统的普及,信息安全愈发的重要,企业对于信息的保密程度越来越高.程序员面临的压力开始逐步递增. 而作者作为"码农",也深深的体会到这一点. 随着公司业务的发展, ...

  8. js\jquery下载本地txt文档

    有一个功能,是需要将相对位置下txt文件读取,并下载:相对路径:"../../assets/download/版本更新日志.txt" 利用a标签进行如下设置,结果只是预览内容,没有 ...

  9. Society-Links-Taiwan朋友们的链接列表

    王彦仁 https://wangyenjen.github.io/ 部落格, 簡報 名稱 網址 經歷 侯欣緯 競程筆記 部落格 2022 國手 賴昭勳 slides 入營考比賽策略 2022 國手 吳 ...

  10. Django实战:基于Django和openpyxl实现Excel导入导出功能

    一.openpyxl 介绍 openpyxl 是一个用于读取和写入 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库.使用场景包括: 数据分析:从 Excel 文 ...