我的编程空间,编程开发者的网络收藏夹
学习永远不晚

小程序如何自定义可清除的input组件

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

小程序如何自定义可清除的input组件

这篇文章主要介绍“小程序如何自定义可清除的input组件 ”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“小程序如何自定义可清除的input组件 ”文章能帮助大家解决问题。

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

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

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

<view class='input-class'> <image class="lazy" data-src='{{inputIcon}}' mode="scaleToFill" class='icon-class'></image> <input placeholder='{{inputHint}}' bindconfirm='{{confirmTap}}' style='flex:1;width:100%;padding-left:12rpx;' bindinput='inputListener' bindconfirm='inputConfirm' value='{{inputValue}}' type='{{inputType}}' password='{{isPassword}}' confirm-type='{{confirmType}}'></input> <image class="{{isClearShow?'clearImgShow':'clearImgHide'}}" class="lazy" data-src='clear.png' bindtap='clearTap' mode='widthFix'></image></view>

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

properties: {    myProperty: { // 属性名      type: String, // 类型(必填),目前接受的类型包括:String, Number, Boolean, Object, Array, null(表示任意类型)      value: '', // 属性初始值(可选),如果未指定则会根据类型选择一个      observer: function(newVal, oldVal, changedPath) {         // 属性被改变时执行的函数(可选),也可以写成在methods段中定义的方法名字符串, 如:'_propertyChange'         // 通常 newVal 就是新设置的数据, oldVal 是旧数据      }    },    myProperty2: String // 简化的定义方式  }

我的属性列表如下:

      properties: {          inputHint: {               type: String,               value: '搜索'          },          inputIcon: {               type: String,               value: 'search.png'          },          inputType: {               type: String,               value: 'text'          },          isPassword: {               type: Boolean,               value: false          },          confirmType: {               type: String,               value: "done"          }     }

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

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

//触发事件//自定义组件触发事件时,需要使用 triggerEvent 方法,指定事件名、detail对象和事件选项methods: {    onTap: function(){      var myEventDetail = {} // detail对象,提供给事件监听函数      var myEventOption = {} // 触发事件的选项      this.triggerEvent('myevent', myEventDetail, myEventOption)    }  }//监听事件<!-- 当自定义组件触发“myevent”事件时,调用“onMyEvent”方法 --><component-tag-name bindmyevent="onMyEvent" /><!-- 或者可以写成 --><component-tag-name bind:myevent="onMyEvent" />

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

      methods: {          inputListener: function (e) {               var value = e.detail.value;               var cursor = e.detail.cursor;               if (value === null || value === undefined || value.length === 0) {                    this.setData({                         isClearShow: false                    });               } else {                    this.setData({                         isClearShow: true                    });               }               var detail = {                    value: value,                    cursor: cursor               };               this.triggerEvent('inputListener', detail);          },          inputConfirm: function (e) {               var value = e.detail.value;               var detail = {                    value: value               }               this.triggerEvent('inputConfirm', detail);          },          clearTap: function () {               this.setData({                    isClearShow: false,                    inputValue: ''               });          }     }

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

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

 "usingComponents": {          //这里是设置的组价标签名称以及组件地址          "clearInput": "../../components/clearInput/clearInput"     }

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

<clearInput inputHint='搜索订单' icon-class='common_search_img' input-class='common_search_input' confirmType='search' bind:inputListener='inputListener' bind:inputConfirm='searchEvent' />

关于“小程序如何自定义可清除的input组件 ”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

小程序如何自定义可清除的input组件

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

小程序如何自定义可清除的input组件

这篇文章主要介绍“小程序如何自定义可清除的input组件 ”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“小程序如何自定义可清除的input组件 ”文章能帮助大家解决问题。首先,在目标目录下新建一个自
2023-06-26

小程序如何自定义组件

本文小编为大家详细介绍“小程序如何自定义组件”,内容详细,步骤清晰,细节处理妥当,希望这篇“小程序如何自定义组件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一 小程序提供了很多api和基础组件,但为减少代码的复
2023-06-26

如何实现小程序的自定义组件

要实现小程序的自定义组件, 需要以下步骤:创建一个自定义组件的文件夹,例如 components/myComponent。在该文件夹下创建一个 WXML 模板文件(myComponent.wxml),用来定义组件的结构。创建一个 WXSS
如何实现小程序的自定义组件
2024-04-17

微信小程序如何自定义可搜索的picker组件

本篇内容介绍了“微信小程序如何自定义可搜索的picker组件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码:myPicker.wxml<
2023-07-02

微信小程序如何修改自定义input

这篇文章主要介绍微信小程序如何修改自定义input ,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!说一下我做的input的原理 有两张图片 一张是未选中的(input.png)一张是已经选中的 (input_n.pn
2023-06-26

微信小程序如何自定义tabbar组件

这篇文章主要讲解了“微信小程序如何自定义tabbar组件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序如何自定义tabbar组件”吧!由于项目需求,必须自己写组件:第一步:在App
2023-06-14

微信小程序中如何自定义组件

这篇文章将为大家详细讲解有关微信小程序中如何自定义组件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在微信小程序开发过程中,对于一些可能在多个页面都使用的页面模块,可以把它封装成一个组件,以提高开发效率。
2023-06-29

小程序如何自定义轮播图圆点组件

本篇内容介绍了“小程序如何自定义轮播图圆点组件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!微信小程序自带的轮播图小点,是一个圆点且在图片上
2023-07-02

微信小程序button组件如何自定义样式

本篇内容主要讲解“微信小程序button组件如何自定义样式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序button组件如何自定义样式”吧!背景颜色wxml代码
2023-06-26

微信小程序如何实现自定义弹窗组件

本篇内容主要讲解“微信小程序如何实现自定义弹窗组件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序如何实现自定义弹窗组件”吧!首先,放一下,最终的效果图:这是我们最后要实现的效果那么,首
2023-07-02

微信小程序自定义组件找不到如何解决

如果在开发微信小程序时遇到自定义组件找不到的问题,可以按照以下步骤进行排查和解决:1. 确认自定义组件文件夹是否存在于小程序项目的正确位置。自定义组件应该放置在与pages文件夹同级的目录下的components文件夹内。2. 确认自定义组
2023-09-29

微信小程序中如何自定义创建和使用组件

在微信小程序中,可以通过使用自定义组件来实现对页面上重复使用的部分进行封装和复用。下面是在微信小程序中自定义创建和使用组件的步骤:创建组件文件:在微信小程序的项目目录中,新建一个文件夹用于存放组件文件,例如名为"components"。在该
微信小程序中如何自定义创建和使用组件
2024-04-09

微信小程序自定义组件Component的代码详解

这篇文章主要给大家介绍了关于微信小程序自定义组件Component的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
2023-03-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录