分类归档

小程序

FWQ
小程序
微信小程序中textarea与input的问题总结
本篇文章给大家带来了关于的相关知识,其中主要介绍了关于小程序中textarea与input的问题总结,这两个组件单独只用一个时,是没有什么问题的,但是当他们两个一起出现时,问题就接踵而来,下面一起来看一下,希望对大家有帮助。 【相关学习推荐:】 微信小程序中,有两个原生组件textarea和input,这两个组件单独只用一个时,是没有什么问题的,但是当他们两个一起出现时,问题就接踵而来,并且都是些很玄学的问题,我在开发时就遇到了这些玄学的问题,一个简单的表单填写页面,只是为了实现一个手动实现页面上推的功能,硬是搞了好几天才弄好! 效果图: 思考 在我把这些玄学问题通过特殊方式解决后,我思考了很多很多 为什么textarea和input组合在一起使用时为什么会有这些玄学问题? 我明明是正常的写法,为什么ios手机可以,到安卓机就不行了? 为什么有些时候可以有些时候又不可以? …等等等等 为了以后不在这些问题上走弯路,所以我决定好好的去探索一番,textarea与input的相爱相杀 测试机器 本次探索所用到的机器为 安卓机器:荣耀20,小米10s; ios机器:iPhone13 玄学问题来了! 1、绑定bindkeyboardheightchange事件 问题:只为textarea绑定bindkeyboardheightchange事件,input也会触发textarea的bindkeyboardheightchange事件,并且触发所携带的参数都是textarea上面的参数 机型:安卓必现 示例: 解决办法:未找到解决办法 2、设置hold-keyboaed为true时 问题:当把textarea和input的hold-keyboaed属性设置为true时,并且input中有一个type不为text时,连续切换会把键盘上方的完成卡住,并且不会再聚焦textarea 机型:安卓必现 示例gif: 解决办法:1. 通过show-confirm-bar不显示textarea键盘抬起时上方的完成按钮,2. input的type都设置为text,3.…
2024-11-25 阅读全文 →
FWQ
小程序
微信开发之slider详解及实例代码
这篇文章主要介绍了微信小程序 slider 详解及实例代码的相关资料,需要的朋友可以参考下 实现效果图: 滑动选择器 属性名 类型 默认值 说明 min Number 0 最小值 max Number 100 最大值 step Number 1 步长,取值必须大于 0,并且可被 (max – min) 整除 disabled Boolean…
2024-11-25 阅读全文 →
FWQ
小程序
JavaScript数据结构之单链表和循环链表实例分享
本文主要介绍了javascript数据结构之单链表、循环链表,详细的介绍了javascript如何实现单链表、循环链表,有兴趣的可以了解一下,希望能帮助到大家。 进入正题,关于链表的数据结构知识,这里简单介绍下: 链表是一种物理存储单元上非线性、非连续性的数据结构(它在数据逻辑上是线性的),它的每个节点由两个域组成:数据域和指针域。数据域中存储实际数据,指针域则存储着指针信息,指向链表中的下一个元素或者上一个元素。正是由于指针的存在,链表的存储在物理单元是非连续性的。 链表的优点和缺点同样明显。和线性表相比,链表在添加和删除节点上的效率更高,因为其只需要修改指针信息即可完成操作,而不像线性表(数组)那样需要移动元素。同样的,链表的长度在理论上也是无限的(在存储器容量范围内),并可以动态变化长度,相比线性表优势很大。 相应的,由于线性表无法随机访问节点,只能通过指针顺着链表进行遍历查询来访问,故其访问数据元素的效率比较低。  下面是JS部分 立即学习“”; 这里面封装了的常用方法及描述: 方法 描述 append(element)   向链表尾部添加结点element insert(position,element)  向位置position处插入结点element removeAt(position)  按照索引值position删除结点 remove(element)  搜索并删除给定结点element remove()  删除链表中最后一个结点 indexOf(element) 查找并返回给定结点element的索引值 isEmpty()  判断链表是否为空 size()  获取链表长度 toString()  转换为字符串输出…
2024-11-25 阅读全文 →
FWQ
小程序
微信扫码支付模式
微信扫码支付(模式一) 微信扫码支付遇到的问题 原生支付URL参数错误 回调URL有回调,但是接收不到参数 商户后台返回的数据字段结构不合法 获取商户订单信息超时或者商户返回的httpcode非200 解决问题 原生支付URL参数错误这个错误一般会出现在获取到二维码URL之后生成二维码微信扫码的时候。如果你出现此类型的问题请检查 1、生成二维码所需参数列表中参数是否有错误(区分大小写)2、参数中签名sign时候正确 签名算法   签名校验工具 以下是生成二维码URL的代码 /** * * @author Javen * 2016年5月14日 * 扫码支付获取二维码URL(模式一) */ public String getCodeUrl(){ String url="weixin://wxpay/bizpayurl?sign=XXXXX&appid=XXXXX&mch_id=XXXXX&product_id=XXXXX&time_stamp=XXXXX&nonce_str=XXXXX";…
2024-11-25 阅读全文 →
FWQ
小程序
本作用域下如何调用全局JavaScript
微信小程序本下调用全局js详解 本地wxml文件 <view> app版本:pw_version </view> 登录后复制 本地js文件 var app; Page({ data:{ }, onLoad:function() { app = getApp(); this.setData({version:app.globalData.appName}); } }) 登录后复制 全局js文件 //app.js App({ globalData:{ appName:"hcoder" }, test:function () { console.log("ok"); } }) 登录后复制…
2024-11-25 阅读全文 →
FWQ
小程序
微信小程序实例:详情页数据动态实现的方法介绍
本篇文章给大家带来的内容是关于微信小程序实例:detail详情页数据动态展示的方法介绍 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 上一篇文章介绍把静态的detail页面做好了,现在来做把数据动态的放进去 首先实现点击list页面会跳转到detail页面 给list页面中添加点击事件 list.js //点击跳转到detail页面   toDetail(event){       // console.log(event);    //获取点击跳转对应的下标     let index = event.currentTarget.dataset.index     wx.navigateTo({       url: '/pages/detail/detail?index='+index,     })   }, 登录后复制 上面console.log(event)的内容如下: 这样我们就把点击跳转的下标拿到并传递给detail页面了 在detail.js中获取数据,获取数据要记得先把数据引进来: // pages/detail/detail.js let datas = require('../../datas/list-data.js'); Page({   /** * 页面的初始数据 */   data: {     detailObj:{},     index:null…
2024-11-25 阅读全文 →
FWQ
小程序
微信开发之调起摄像头、本地展示图片、上传下载图片方法
本文介绍微信开发之调起摄像头、本地展示图片、上传下载图片方法 1.配置 页面引入通过jssdk授权后,传入wx对象,首先配置需要的接口 wx.config({ /* debug: true, */ appId: appid, timestamp: timestamp, nonceStr: nonceStr, signature: signature, jsApiList: [ 'chooseImage',//拍照或从手机相册中选图接口 'previewImage',//预览图片接口 'uploadImage',//上传图片接口 'downloadImage'//下载图片接口   ] }); 登录后复制   2.调起拍照/相册 将下面的方法放在需要点击事件的回调函数里面 …
2024-11-25 阅读全文 →
FWQ
小程序
分析小程序hidden不生效原因及解决办法
微信官方文档里有提到说hidden是所有组件都有的属性,但我实际编码中发现并不是这样的!!!! 例如如下布局:     <view>         <text>text1</text>         <text>text2</text>     </view> 登录后复制 登录后复制 你会发现hidden没生效。经我实验发现hidden元素对块状布局才生效,所以这段代码里导致hidden没生效的罪魁祸首是display:flex。把这个去掉就可以了。 如果一定要用flex布局怎么办? 其实这里想用hidden无非就是想影藏这个布局,display:none也能做到隐藏。这里可以用一个取巧的方法,动态设置display属性,示例如下:     <view>         <text>text1</text>         <text>text2</text>     </view> 登录后复制 登录后复制 这里的hideview是在对应的js里是一个变量,由js来动态控制。 后话 hidden 隐藏布局,虽然隐藏了,但是还是会占空间。display:none 隐藏不占据空间。 以上就是分析小程序hidden不生效原因及解决办法的详细内容,更多请关注米云其它相关文章!
2024-11-25 阅读全文 →
FWQ
小程序
一起看看 Activity启动模式
主要介绍了Activity启动模式的相关资料 推荐(免费): 前言 平常我们启动活动的时候就是直接startActivity或许并没有注意活动的启动模式,默认情况下都是以默认的启动模式启动。但启动模式有时候是比较重要的。例如一个活动你想他只启动一次不要有多个实例,那么你可能需要把他设置为singleTask模式。所以有必要了解一下这一些启动模式。同时要注意一下,启动模式≠启动方式,启动方式是指显示启动和隐式启动,不要混淆,显示启动和隐式启动后续我会有专门的文章讲解。 关于任务栈简介 要了解启动模式,首先要了解一下关于任务栈的概念。关于任务栈的实现原理等我在这里就先不说了,这里主要简单介绍一下什么是任务栈。我们启动的活动实例都会放在一个叫做任务栈的东西里面。我们都知道栈是“后进先出”的特点。打个比方,任务栈就是一个羽毛球筒,活动实例就是一个个羽毛球,后放进去的只能先拿出来。所以当我们启动一个app的时候,就会自动创建一个任务栈,然后我们就往里面丢活动实例。当我们按返回销毁活动的时候,这些活动就依次从任务栈里面出来。当然,一个app可以拥有多个任务栈,例如使用singleInstence启动的活动就是在一个独立的任务栈中。了解完任务栈的概念,接下来就可以来看看活动的四种启动模式。 解析Activity的四种启动模式 standard 这种是标准启动模式,默认就是这种启动模式。每次启动这种启动模式的活动的时候都会创建一个新的实例放入栈中,不管栈中是否已经存在相同的实例。这也是最容易理解的。 singleTop 顾名思义,栈顶是单一实例的。什么意思呢。假设你现在启动一个ActivityA,但是这个时候已经存在一个ActivityA实例在栈顶,那么这个时候,就不会创建新的实例。但是如果,在非栈顶存在相同的实例,还是会创建新的实例的。例如,现在栈中的活动是 ABC,A处于栈顶。然后此时启动A,是不会再创建一个A活动出来,而是执行A的onNewIntent方法;但是如果此时启动C活动,由于栈顶是A不是C,那么还是会创建一个新的C实例出来,此时的栈情况就是CABC。 singleTask 单一任务模式。这个模式的意思是,在该活动的启动栈中,只能存在单一实例,不管是否位于栈顶。与其他启动模式不同的是,这个启动模式可以指定栈去启动。例如现在有一个栈Main,但是你可以给活动A指定一个栈名dev,那么启动A的时候就会创建一个栈叫做dev。所以singleTask的意思就是,当你启动一个启动模式为singleTask的活动的时候,如果栈中没有相同的实例,那么就会创建一个新的实例放入栈中;如果指定栈中存在相同的实例,例如栈中有ABC,然后你启动B,那么这个时候不会去创建新的B实例,而是把B放到栈顶,并把A顶出去,再执行B的onNewIntent方法,此时栈的情况就是BC。细心的读者会发现“顶出去”。是的,我们都知道栈是后进先出的特点,例如你往筒里放了3个羽毛球,那你想要拿到中间那个羽毛球,是不是只能先把上面那个抽出来呢,同样的道理,要想把B提到栈顶,那么必须把A顶出来。可能会有很多读者误以为启动后是BAC,但其实是BC,因为A得先出栈,B才能出来。同理,如果栈中是ADFBC,这个启动B,也是BC,上面的全部被出栈了。 singleInstance 单例模式。这个是singleTask的强化版本。他会自己新建一个栈并把这个新的实例放进去,而且这个栈只能放这个活动实例。所以当重复启动这个活动的时候,只要他存在,都是调用这个活动onNewIntent方法并切换到这个栈中,并不会去创建新的实例。 设置启动模式的两种方法 了解了活动的四种启动模式,接下来看看如何给他指定启动模式。 静态设置 静态设置就是在AndroidManifest中给具体活动设置启动模式。通过给活动指定launchMode参数来设置启动模式。例如:  <activity></activity> 登录后复制 动态设置 动态设置是在启动活动的时候再指定启动模式,例如: Intent intent = new Intent(); intent.setClass(this,SecondActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);…
2024-11-25 阅读全文 →
FWQ
小程序
身份证被别人绑定微信了怎么办?
解决方法:1、打开微信软件,点击右下角的“我”,点击“设置”按钮;2、选择“辅助功能”,点击“微信支付”;3、选择“帮助中心”,点击“实名问题”;4、点击“查询名下账户”,输入身份证号等信息进行查询,选择把不认识的账户进行清除并解绑即可。 【相关学习推荐:小程序教程】 微信支付需要身份证实名认证,一张身份证最多可以绑定5个微信账号。只要知道你的名字和身份证号码,就很容易在绑定微信支付时冒用。 身份证被别人绑定微信了怎么办? 可以直接选择解除绑定。 方法: 首先在微信的【我】-【设置】-【通用】-【辅助功能】中找到“微信支付”; 然后点击“帮助中心”,就会跳转到下个页面,找到“实名问题”,选择“查询名下账户”在这个页面就可以查询和管理微信名下的账户了。 根据查询要求输入姓名、身份证号,最后扫脸验证,就会显示名下绑卡账户。如果你本人只注册过一个微信,那么这里应该只有你当前这个微信号的,若出现了不认识的号,那可就要注意了,你的身份信息很可能已经被盗用。 这时你就可以选择把不认识的账户进行清除并解绑,在发生财产损失之前,消除这些隐患。 看起来复杂,其实操作不到一分钟就可以查到,建议自己查完之后帮父母也查一下,上了年纪的人可能更容易相信谣言导致被骗,记得提醒叔叔阿姨们,要设置好密码,个人隐私信息要加密处理,以免被盗取。 以上就是身份证被别人绑定了怎么办?的详细内容,更多请关注米云其它相关文章!
2024-11-25 阅读全文 →