美文网首页
微信小程序组件封装使用

微信小程序组件封装使用

作者: _诸葛青 | 来源:发表于2022-04-25 17:24 被阅读0次

很简单:记录一下
想组件封装,直接右键:点击新建点击Component
基本结构是这样的


image.png
image.png

这里以封装搜索框为例子
直接上代码:
js代码:

// components/search.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    placeholder: {
      type: String,
      value: '请输入',
    },
  },
  /**
   * 页面的初始数据
   */
  data: {
    showClear: false,
    inputValue: null,
  },
  methods: {
    changeEvent(e) {
      this.setData({ showClear: e.detail.value.length > 0 ? true : false });
      this.triggerEvent('changeEvent', e.detail.value);
    },
    bindconfirm(e) {
      this.triggerEvent('confirmEvent', e.detail.value);
    },
    loseFouse() {
      setTimeout(() => {
        this.setData({ showClear: false });
      }, 100);
      this.triggerEvent('loseFouse',);
    },
    bindfocus(e) {
      this.setData({ showClear: e.detail.value.length > 0 ? true : false });
      this.triggerEvent('bindfocus');
    },
    clearEvent() {
      console.log('点击了');
      this.setData({
        showClear: false,
        inputValue: '',
      });
      this.triggerEvent('clearEvent');
    },
  },
  bindkeyboardheightchange(e) {
    this.triggerEvent('bindkeyboardheightchange',e.detail);
  },
  
});

wxml:其中<van-icon>是图标:可以去掉;image 的src是删除的图片,自行添加

<view class="search-view">
    <view style="width: 100%;display: flex; align-items: center;">
        <van-icon name="search" size="16px" color="#a9aeb8"/>
        <input style="flex:1;" placeholder='{{placeholder}}' placeholder-class="phStyle" bindinput="changeEvent" value="{{inputValue}}" bindblur="loseFouse" bindfocus="bindfocus"  bindconfirm="bindconfirm" bindkeyboardheightchange="bindkeyboardheightchange" />
        <image wx:if="{{showClear}}" src="/images/fans/delete.png" style="margin-left: 10px;width: 14px;height: 14px;" bindtap="clearEvent"></image>
    </view>
</view>

wxss

/* components/search.wxss */
.search-view {
  display: flex;
  background-color: #ebebeb;
  border-radius: 25px;
  padding: 4px 15px 4px 15px;
  align-items: center;
}

.phStyle {
  color: #a9aeb8;
  font-size: 13px;
}

使用:
1、引入

{
  "usingComponents": {
    "search": "/components/search/search"
  }
}

2、wxml

 <search style="flex: 1;" bind:changeEvent="changeEvent" bind:clearEvent="clearEvent" bind:confirmEvent="confirmEvent" placeholder="请输入姓名或身份证后6位或手机号"></search>

3、需注意的时,最终拿到的值是e.detail

changeEvent(e) {
    console.log(e.detail);
  },

相关文章

  • 小程序tab组件封装

    微信小程序tab组件封装 最近在做微信小程序的项目,下面就微信小程序中tab的tab功能封装成一个组件,在项目项需...

  • 微信小程序自定义标签组件component封装、组件生命周期,组

    微信小程序自定义标签组件component封装、组件生命周期,组件通信 本文来说下小程序的自定义标签组件封装。相比...

  • 小程序 自定义弹窗组件学习

    学习网站 (干货)微信小程序组件封装微信小程序:自定义组件的数据传递 1、创建component文件 1、右键pa...

  • 微信小程序组件封装使用

    很简单:记录一下想组件封装,直接右键:点击新建点击Component基本结构是这样的 这里以封装搜索框为例子直接上...

  • 微信小程序基础

    微信小程序介绍微信小程序开发工具的使用微信小程序框架文件微信小程序逻辑层微信小程序视图层微信小程序组件介绍微信小程...

  • 微信小程序 组件封装

    我们使用的自己封装的订单组件,其中goodsOrderList目录引用了该组件,order-card目录定义了该组...

  • (干货)微信小程序组件封装

    (干货)微信小程序组件封装https://blog.csdn.net/qq_41813695/article/de...

  • 微信小程序自定义组件

    先附上微信小程序组件封装官方指南[https://developers.weixin.qq.com/minipro...

  • 微信小程序插件

    微信小程序插件 介绍 微信小程序插件是对一组js接口,自定义组件或页面的封装,用来嵌入微信小程序中,用来被开发者调...

  • (干货)微信小程序组件封装

    概述 自己封装的一个比较简单微信弹窗小组件,主要就是教会大家对微信小组件的用法和理解,因为微信小程序对组件介绍特别...

网友评论

      本文标题:微信小程序组件封装使用

      本文链接:https://www.haomeiwen.com/subject/rvrnertx.html