微信小程序自定义组件-可清除的input组件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序自定义组件-可清除的input组件相关的知识,希望对你有一定的参考价值。

参考技术A 最近正在做的一个小程序项目中需要用到一个可清除的输入框控件,为了在项目中使用方便以及方便其他项目直接使用,便封装了一个可清除的input自定义组件。

组件需要达到的需求是:输入框内没有内容时,删除按钮隐藏;当输入框内有内容时,删除按钮显示,点击删除按钮则清空输入框内所有内容。并且还可以设置输入框整体样式以及输入框左侧图标。

明确了需求之后,就可以开始着手实现了。

首先,在目标目录下新建一个自定义组件

建好之后,我们需要来设计布局。根据需求来看,我们只需要三个组件:两个image和一个input。左边一个image提示图标,然后一个input输入框,最后一个image删除按钮。我们要把尽可能多的数据设置成可以修改的绑定数据,提高自定义组件的可扩展性。

最终确定的wxml布局文件如下:

然后,我们就要来设置组件的一些属性和监听方法了。小程序的组件属性列表是定义在.js文件的properties里的。把需要暴露出去并可以修改的属性都写在这里面。其语法示例如下:

我的属性列表如下:

完成了属性列表的编写之后,接下来我们需要为自定义组件添加监听事件。
事件系统是组件间通信的主要方式之一。自定义组件可以触发任意的事件,引用组件的页面可以监听这些事件。

监听以及触发事件的语法是这样的:

这里我们需要设置的触发事件有,输入框的输入事件以及输入框的确认事件。通过 triggerEvent 方法指定事件名以及事件触发事件参数

以上就已经完成了这个可清除input组件的自定义开发了。现在来看怎么使用这个组件。

首先在需要使用此组件的页面.json文件中设置usingComponents属性来引入这个自定义组件

然后,我们就可以在页面中引用这个自定义组件了,引用的方式非常简单,通过我们在上一步设置的标签名称就可以引用了。

最终实现的效果图如下:

项目GitHub地址:
微信小程序酒店类模板
微信小程序捐款类模板

iView Weapp微信小程序UI组件库中i-input的使用

iView Weapp微信小程序UI组件库为小程序的开发提供了良好的交互界面,组件库自定义了一系列组件,具有较强的开发友好性,但一些组件与微信小程序原生组件的使用方式有差异。

i-input组件是该框架自定义的输入框组件,与微信中input具有相同功能。

在使用i-input输入值时,可以增加其bind:change="myInput" 属性,如:

wxml:

<i-input type="number" right  maxlength="2" bind:change="myInput"/>

 

js:

myInput:function(event)

this.setData(

myData: event.detail.detail.value

)

,

 

在此需要注意的是,如要获取值需要有两个detail(红色字标注),否则会报错。

另外,如果不设置maxlength属性的话,在小程序开发工具中将无法进行输入,但在真机上可以。

以上是关于微信小程序自定义组件-可清除的input组件的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序 自定义组件(stepper)

微信小程序 自定义组件 引入组件

微信小程序之自定义日历组件

微信小程序 - radio/checkbox自定义组件

微信小程序从入门到学会第七天-小程序的自定义组件

微信小程序延迟显示按钮