美文网首页
微信小程序 组件

微信小程序 组件

作者: IamaStupid | 来源:发表于2021-02-24 15:28 被阅读0次

小程序 组件

选择components文件夹,右键,新建component,会自动生成组件文件,js/json/wxml/wxss一共四个文件。
比如,做一个自定义的选择框组件,居左是标题文字,居右是两个选择框。

my-checkbox.wxml
<view class="com-cell">
  <view class="cell-title">{{porpTitle}}</view>
  <view class="cell-right">
    <view class="my-radio-box {{checkedNum==='1'? 'checked': ''}}"
      bindtap="onTap" data-key="{{propKey}}" data-val="1">{{yes}}</view>
    <view class="my-radio-box {{checkedNum==='0'?'checked': ''}}"
      bindtap="onTap" data-key="{{propKey}}" data-val="0">{{no}}</view>
  </view>
</view>
my-checkbox.js
// components/my-checkbox.js
Component({
  // 这个设置表示组件可以使用全局样式
  options: {
    addGlobalClass: true
  },
  /**
   * 组件的属性列表
   */
  properties: {
    checkedNum: String,
    propKey: String,
    porpTitle: String
  },

  /**
   * 组件的初始数据
   */
  data: {
    yes: '有',
    no: '无'
  },
  observers: {
    'porpTitle': function (newVal) {
      // console.log(newVal)
      if (newVal.indexOf('婚姻') > -1) {
        this.setData({
          yes: '已婚',
          no: '未婚'
        })
      }
    }
  },
  /**
   * 组件的方法列表
   */
  methods: {
    onTap: function(e) {
      // console.log('/////', e)
      this.triggerEvent('myevent', e.currentTarget.dataset, {})
    }
  }
})
pages中使用组件的页面 home.wxml
// home.json
{
  "usingComponents": {
    "my-checkbox": "/components/my-checkbox"
  }
}

// home.wxml
<my-checkbox bindmyevent="myCheckFn" prop-key="gjj"
             checked-num="{{form.gjj}}"
             porp-title="是否缴纳公积金"></my-checkbox>

// home.js
data: {
    form: {
      money: '',
      gjj: ''
    }
  },
  myCheckFn (event) {
    let obj = Object.assign({}, this.data.form)
    let key = event.detail.key || event.target.dataset.key
    let val = event.detail.val || event.target.dataset.val
    obj[key] = val
    this.setData({
      form: obj
    })
    // console.log(event, key, val, typeof val)
  },
onMoneyTab (e) {
    // console.log(e)
    let money = e.currentTarget.dataset.money
    this.setData({
      'form.money': money
    })
  },
.......

相关文章

  • 小程序好文集合

    组件篇 微信小程序:组件实践 整体梳理 微信小程序开发深入解读

  • 微信小程序-canvas压缩图片使用入门

    微信小程序canvas组件官方文档 微信小程序canvas组件官方文档canvas API canvas组件介绍 ...

  • 微信小程序日历组件开发

    # 微信小程序日历组件开发 微信小程序基础知识 微信小程序 框架介绍 组件文档 上述是开发小程序的基本知识。 今天...

  • 微信小程序基础

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

  • 微信小程序组件探究和应用

    把玩微信小程序组件 微信小程序把玩《二》:页面生命周期,模块化,数据绑定,view组件 微信小程序把玩《三》:sc...

  • 微信小程序性能优化实践

    历史回顾: 微信小程序自定义组件 - 表格组件来啦 通过微信小程序来实现 “钉钉打卡” 记一次微信小程序项目分包,...

  • 微信小程序组件化开发

    什么是组件化开发 微信小程序的组件和Vue的组件非常相似。 在微信小程序中有很多内置组件,比如button vie...

  • 小程序tab组件封装

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

  • 微信小程序细节1(icon的使用)

    微信小程序官网地址如下:(11月3号晚10点之后微信小程序开始公测,但不支持发布) 微信小程序 微信小程序的组件-...

  • 微信小程序日历组件开发案例

    今天我们一起写一个微信小程序日历组件 微信小程序日历组件https://github.com/749264345/...

网友评论

      本文标题:微信小程序 组件

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