小程序组件

小程序基础库版本2.5.2 ===> 对应微信版本7.0.0

表单组件 picker

https://developers.weixin.qq.com/miniprogram/dev/component/picker.html

mode 说明
selector 普通选择器
multiSelector 多列选择器
time 时间选择器
date 日期选择器
region 省市区选择器

商详的图片预览在小程序中用gallery来实现。

底部弹窗用half-screen-dialog

不要看weUI的input,老版本的表单,后续已不再维护。新版本看form。
尤其需要看验证码的部分。

组件模板

组件模板的写法与页面模板相同。组件模板与组件数据结合后生成的节点树,将被插入到组件的引用位置上。

在组件模板中可以提供一个 <slot> 节点,用于承载组件引用时提供的子节点。

<!-- 组件模板 -->
<view class="wrapper">
  <view>这里是组件的内部节点</view>
  <slot></slot>
</view>
  /**
   * 组件的属性列表
   */
  properties: {
    propA: String,
    propB: String
  },
<!-- 引用组件的页面模板 -->
<view>
  <component-tag-name prop-a="{{dataFieldA}}" prop-b="{{dataFieldB}}">
    <!-- 这部分内容将被放置在组件 <slot> 的位置上 -->
    <view>这里是插入到组件slot中的内容</view>
  </component-tag-name>
</view>

label

用来改进表单组件的可用性。使用for属性找到对应的id,或者将控件放在该标签下,当点击 label 时,就会触发对应的控件。目前可以绑定的控件有: button, checkbox, radio, switch, input。

form

表单。将组件内的用户输入的 switch input checkbox slider radio picker 提交。

当点击 form 表单中 form-type 为 submit 的 button 组件时,会将表单组件中的 value 值进行提交,需要在表单组件中加上 name 来作为 key。

input

placeholder-style 指定 placeholder 的样式
placeholder-class 指定 placeholder 的样式类

confirm-type 设置键盘右下角按钮的文字,仅在type='text'时生效:

  • send 右下角按钮为“发送”
  • search 右下角按钮为“搜索”
  • next 右下角按钮为“下一个”
  • go 右下角按钮为“前往”
  • done 右下角按钮为“完成”

事件

  • bindinput 键盘输入时触发
  • bindfocus 输入框聚焦时触发
  • bindblur 输入框失去焦点时触发
  • bindconfirm 点击完成按钮时触发
scroll-view隐藏滚动条方法
::-webkit-scrollbar {
  width: 0;
  height: 0;
  color: transparent;
}
双向绑定

model:value 仅支持单一字段的绑定,如

<input model:value="{{name}}" />

不支持如下情况:

<input model:value="{{info.name}}" />
在自定义组件中传递双向绑定
<!-- custom-component.wxml -->
<input model:value="{{myValue}}" />
<custom-component model:my-value="{{pageValue}}" />

当输入框的值变更时,自定义组件的 myValue 属性会同时变更,这样,页面的 this.data.pageValue 也会同时变更,页面 WXML 中所有绑定了 pageValue 的位置也会被一同更新。

在自定义组件中触发双向绑定更新
// custom-component.js
Component({
  properties: {
    myValue: String
  },
  methods: {
    update: function() {
      // 更新 myValue
      this.setData({
        myValue: 'leaf'
      })
    }
  }
})
<custom-component model:my-value="{{pageValue}}" />

当组件使用 setData 更新 myValue 时,页面的 this.data.pageValue 也会同时变更,页面 WXML 中所有绑定了 pageValue 的位置也会被一同更新。

全局置灰

打开 app.wxss 文件,在第一行加上

page {
  filter: grayscale(100%);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 木 火土金水 水生木→木生火→火生土→土生金→金生水 (一说五行中金不是金属,而是气,气出而成雾。飞升上天而成云。...
    大海de虾米阅读 4,302评论 0 0
  • DDoS 攻击——我们真的在打仗吗? Arbor Networks的首席安全科学家Craig Labovitz使用...
    Eliza_卓云阅读 851评论 0 0
  • Nature Genetics | DNA变异和甲基化之间的关系 原创风不止步图灵基因2022-01-24 07:...
    图灵基因阅读 3,157评论 0 1
  • 十大院校研究生就业情况盘点 考研专业相关院校排名情况是考生选择报考高校的关注焦点,如何获取这些考研专业院校排名信息...
    风风风风风阅读 1,228评论 0 1
  • 昨晚听范范老师的咨询历程,深有感悟,尤其是听到她说:“所有的孩子我都发自内心的喜欢,几乎所有家长我都认识,记得他们...
    软乎乎8897阅读 923评论 0 1