最近正在做的一个小程序项目中需要用到一个可清除的输入框控件,为了在项目中使用方便以及方便其他项目直接使用,便封装了一个可清除的input自定义组件。
组件需要达到的需求是:输入框内没有内容时,删除按钮隐藏;当输入框内有内容时,删除按钮显示,点击删除按钮则清空输入框内所有内容。并且还可以设置输入框整体样式以及输入框左侧图标。
明确了需求之后,就可以开始着手实现了。
首先,在目标目录下新建一个自定义组件
建好之后,我们需要来设计布局。根据需求来看,我们只需要三个组件:两个image和一个input。左边一个image提示图标,然后一个input输入框,最后一个image删除按钮。我们要把尽可能多的数据设置成可以修改的绑定数据,提高自定义组件的可扩展性。
最终确定的wxml布局文件如下:
然后,我们就要来设置组件的一些属性和监听方法了。小程序的组件属性列表是定义在js文件的properties里的。把需要暴露出去并可以修改的属性都写在这里面。其语法示例如下:
我的属性列表如下:
完成了属性列表的编写之后,接下来我们需要为自定义组件添加监听事件。
事件系统是组件间通信的主要方式之一。自定义组件可以触发任意的事件,引用组件的页面可以监听这些事件。
监听以及触发事件的语法是这样的:
这里我们需要设置的触发事件有,输入框的输入事件以及输入框的确认事件。通过 triggerEvent 方法指定事件名以及事件触发事件参数
以上就已经完成了这个可清除input组件的自定义开发了。现在来看怎么使用这个组件。
首先在需要使用此组件的页面json文件中设置usingComponents属性来引入这个自定义组件
然后,我们就可以在页面中引用这个自定义组件了,引用的方式非常简单,通过我们在上一步设置的标签名称就可以引用了。
最终实现的效果图如下:
项目GitHub地址:
微信小程序酒店类模板
微信小程序捐款类模板
通过改变数组长度动态增删组件
<block wx:for="{{数组}}">
组件
</block>
1
2
3
1
2
3
2、点击添加按钮,增加数组的成员,组件相应增加
点击删除按钮,减少数组的成员,组件相应删除
二、示例
wxml:
<view>
<button bindtap='onTapAdd'>添加input组件</button>
<button bindtap='onTapDel'>删除Input组件</button>
<block wx:for="{{obj}}" wx:key>
<input value="{{item}}"></input>
</block>
</view>
1
2
3
4
5
6
7
1
2
3
4
5
6
7
js:
data: {
obj:[]
},
/增加组件 /
onTapAdd:function(e){
var temp=thisdataobj;
temppush(thisdataobjlength);
thissetData({
obj:temp
})
},
/ 删除最后一个组件,也可以修改删除指定组件/
onTapDel:function(e){
var temp = thisdataobj;
temppop(thisdataobjlength);
thissetData({
obj: temp
})
},
1前端基础,如JS、HTML、css
2一门后台语言,如PHP、JAVA,后端什么语言都可以,自己定。小程序开发底价
3学习微信接口文档如果用到了微信本身相关功能,如支付、分享等功能,加个微信jssdk就可以了。
4还需要美工,保证制作的小程序有美感。
想要了解更多有关小程序开发的相关信息,推荐咨询猪八戒网。猪八戒网成立于2006年,是中国领先的企业服务平台,服务交易独角兽企业。猪八戒网现有注册用户2800万、在全国布局线下数字化创业园区超过100个。十余年来,累计有10万余个人通过平台孵化成长为公司,超过100万人通过平台实现灵活就业,千万企业通过平台解决专业服务需求;专业性值得选择。
场景:画图应用需选择画笔颜色,有4种颜色按钮可供选择,用户点击任意按钮进行颜色切换。
思路:通过curColorIndex变量保存当前选中的颜色下标,选中后添加额外的选中样式
一,canvaswxss文件:这个文件用于定义按钮正常态和选中态的样式,以及Flex
布局的约束
二,canvaswxml文件:这个文件是Demo的布局界面,通过使用js的data数据和wxss的class样式进行页面布局
这里通过wx:for实现循环打印颜色数组,通过curColorIndex值控制选中的样式,index值进行参数传递
三,canvasjs文件:提供数据,以及处理xwml的控件响应,并通过设置thissetData的值来更新xwml的显示
原文地址: >
用过 npm 的小伙伴肯定很熟悉 node_modules,但是「微信开发工具」是不认 node_modules 的 , 它认的是 miniprogram_npm; 而 miniprogram_npm 是通过 node_modules 转出来的, 它是通过「微信开发工具」的 “工具” -> “构建 npm” 生成出来的。
具体步骤如下:
1、 npm init
这里会产生 packagejson 的配置文件
2、 npm install --p --s
安装需要的包,这里会产生 node_modules
3、「微信开发工具」走一遍 “工具” -> “构建 npm”
这里会产生 miniprogram_npm
4、「微信开发工具」的本地配置中 “使用 npm 模块” 勾上
5、使用包
引入的组件可以有第三方组件和 js 工具
1、 按照步骤安装库同时走一遍 “工具” -> “构建 npm”,产生\miniprogram_npm\weui-miniprogra
npm install weui-miniprogram --p --s
2、 在 appwxss 引入全局样式
3、在需要使用的页面中引入控件和使用,
譬如 pages/index/indexjson,然后就可以在 indexwxml
1、 按照步骤安装库同时走一遍 “工具” -> “构建 npm”,产生\miniprogram_npm\js-base64
npm install js-base64 --p --s
2、在 js 文件中用 require 或者 import 引入,然后使用
以上就是关于微信小程序自定义组件-可清除的input组件全部的内容,包括:微信小程序自定义组件-可清除的input组件、微信小程序动态删除uploader控件、微信小程序开发主要用到什么技术等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)