radio, checkbox{ zoom:0.8; }
<form bindsubmit="submit"> <view class="form-cont"> // 其它表单元素 //按钮指定表单类型,可以触发表单的默认提交行为 <button form-type="submit">submit</button> </view> </form>
submit(e) { console.log(e.detail); }
item | desc |
---|---|
bindsubmit | 数据提交;默认 |
bindreset | 表单重置时会触发 reset 事件 |
item | desc |
---|---|
loading | 是否带 loading 图标;然并卵 |
form-type | 按钮类型;点击触发 form 的submit/reset 事件
submit:单击后,默认行为是提交表单 reset:单击后,默认行为是重置表单 |
open-type | 微信开放能力
chooseAvatar:获取用户头像 contact:客服 getPhoneNumber:获取用户手机(企业号) getUserInfo:获取用户信息(接口被收回) |
bindchooseavatar | 获取用户头像回调,返回头像临时地址;配合 open-type 使用 |
bindcontact | 客服消息回调;配合 open-type 使用 |
// 方案1:使用 important 提权 button{ width: 100%!important; background-color: var(--themeColor); color: #fff; }
// 方案2:使用选择器提权 - 叠加一个选择器作为所有按钮的基类 button.btn{ width: 100%; background-color: var(--themeColor); color: #fff; }
.btn{ padding: 0; margin: 0; font-weight: normal; border-radius: 0; }
<button open-type="contact" bindcontact='getContact'>getContact</button>
getContact(e){ console.log(e); }
<button open-type="chooseAvatar" bindchooseavatar='getAvatar'>getAvatar</button>
getAvatar(e){ console.log(e.detail);//http://tmp/bi86Wd1sI41s8ea8eb984c16d03bff787972d38e3ce6.jpg }
<checkbox value="撸码" id="code" /><label for="code">撸码</label>
<label> <checkbox color="#3498db" value="撸码" />撸码 </label>
item | desc |
---|---|
value | 输入框初始内容;字符串;必填 |
type | 输入框类型
text:文本键盘;默认 number:数字键盘 digit:带小数点的数字键盘 idcard:身份证键盘 nickname:昵称键盘 safe-password:密码 |
password | 是否是密码类型;布尔;默认假 |
placeholder | 输入框为空时占位符;字符串 |
placeholder-style | 指定样式;仅支持设置颜色、大小和字重;需预览查看效果 |
placeholder-class | 指定样式类;仅支持设置颜色、大小和字重;推荐 |
maxlength | 最大输入长度;数字 |
focus | 获取焦点;直接拉起键盘便于输入;但是用户欣赏不到你的设计 |
confirm-type | 设置键盘右下角按钮的文字,仅适用text类型
send:发送 search:搜索 next:下一个 go:前往 done:完成;默认 |
bindinput | 键盘输入时触发 |
bindfocus | 输入框聚焦时触发 |
bindblur | 输入框失去焦点时触发 |
bindconfirm | 点击完成按钮时触发 |
<view class="item"> <text>昵称</text> <input class="ipt" type="text" name="uname" placeholder="您的昵称" maxlength="8" value="{{user.uname}}" /> </view>
<view class="item"> <text>昵称</text> <input class="ipt" type="nickname" name="uname" placeholder="您的昵称" maxlength="8" value="{{user.uname}}" /> </view>
<view class="item border-btm"> <text>密码</text> <input class="ipt" type="safe-password" name="upass" placeholder="您的密码" maxlength="8" value="{{user.upass}}" /> </view>
<view class="item border-btm"> <text>学号</text> <input class="ipt" type="digit" name="usn" placeholder="您的学号" maxlength="8" value="{{user.usn}}" /> </view>
item | desc |
---|---|
bindchange | 选中项发生改变时触发;从事件对象 e.detail 获取当前选中的值( 数组 ) |
item | desc |
---|---|
value | 单选按钮的值 |
checked | 当前是否选中 |
color | 单选按钮选中时的颜色 |
disabled | 是否禁用 |
<radio-group bindchange="getGender" name="ugender"> <radio color="#3498db" value="男" checked />男 <radio color="#3498db" value="女" />女 </radio-group>
getGender(e){ console.log(e.detail.value); }
<radio-group bindchange="getGender" name="ugender"> <radio color="#3498db" value="男" checked="{{user.ugender=='男'}}" />男 <radio color="#3498db" value="女" checked="{{user.ugender=='女'}}" />女 </radio-group>
item | desc |
---|---|
bindchange | 选中项发生改变时触发;从事件对象 e.detail 获取当前选中的值( 数组 ) |
item | desc |
---|---|
value | 多选按钮的值;数组 |
checked | 当前是否选中 |
color | 多选按钮选中时的颜色 |
disabled | 是否禁用 |
<checkbox-group bindchange="getLike" name='ulike'> <checkbox color="#3498db" value="撸码" />撸码 <checkbox color="#3498db" value="睡觉" checked/>睡觉 <checkbox color="#3498db" value="电玩" />电玩 <checkbox color="#3498db" value="唱歌" checked/>唱歌 <checkbox color="#3498db" value="跳舞" />跳舞 <checkbox color="#3498db" value="美食" checked/>美食 </checkbox-group>
getLike(e){ console.log(e.detail.value); }
data:{ carts:[], isAll: false }
<view wx:for="{{carts}}" wx:key="item"> <checkbox checked="{{item.selected}}" bind:tap="toggleItemSelection" data-id='{{item.id}}' /> // ... </view>
<label> <checkbox checked="{{isAll}}" bind:tap="toggleSelectAll" />全选 </label>
toggleSelectAll() { const { carts, isAll } = this.data carts.map(cart => cart.selected = !isAll) this.setData({ carts, isAll: !isAll }) }
toggleItemSelection(e) { console.log(e.currentTarget); const { carts } = this.data const id = e.currentTarget.dataset.id const updatedCarts = carts.map(cart => { if (cart.id == id) { cart.selected = !cart.selected } return cart }) const isAll = updatedCarts.every(cart => cart.selected) this.setData({ carts: updatedCarts, isAll }) }
item | desc |
---|---|
value | 输入框初始内容;字符串;必填 |
placeholder | 输入框为空时占位符;字符串 |
maxlength | 最大输入长度;数字 |
focus | 获取焦点 |
confirm-type | 设置键盘右下角按钮的文字,仅适用text类型
send:发送 search:搜索 next:下一个 go:前往 done:完成;默认 |
bindfocus | 输入框聚焦时触发 |
bindinput | 键盘输入时触发;组合使用 |
bindblur | 输入框失去焦点时触发;组合使用 |
bindconfirm | 点击完成按钮时触发;组合使用 |
bindlinechange | 输入框行数变化时调用 |
<view> <text>简介</text> <textarea name="udesc" value="{{user.udesc}}" maxlength="30" placeholder="your message"/> </view>
textarea{ width: 100%; padding: 20rpx; }
item | desc |
---|---|
mode | 模式
selector:普通选择器 multiSelector:多列选择器 time:时间选择器;hh:mm date:日期选择器;YYYY-MM-DD region:省市区选择器 |
range | 数据列表|范围 |
bindcancel | 取消选择时触发 |
bindchange | 选择时触发 |
<picker mode="selector" value="{{ind}}" range="{{list}}" bindchange="pick" > {{list[ind]}} </picker>
pick(e){ console.log(e.detail.value) }
<picker mode="time" value="{{time}}" bindchange="selTime" > {{time]}} </picker>
selTime(e){ this.setData({ time: e.detail.value }) }
<picker mode="date" value="{{user.ubirth}}" start="2000-07-01" end="2026-12-31" bindchange="selDate" > {{user.ubirth}} </picker>
selDate(e){ this.setData({ date: e.detail.value }) }
<picker mode="region" value="{{region}}" bindchange="selRegion" > {{region}} </picker>
selRegion(e){ this.setData({ region: e.detail.value }) }
item | desc |
---|---|
min | 最小值 |
max | 最大值 |
step | 步长 |
show-value | 是否显示值;默认不显示 |
backgroundColor | 背景条的颜色 |
activeColor | 已选择的颜色 |
block-size | 滑块的大小,取值范围为 12 - 28 |
block-color | 滑块颜色 |
bindchange | 拖动后触发 |
bindchanging | 拖动过程中触发 |
<slider activeColor="#3498db" backgroundColor="#ccc" block-size="24" block-color="#3498db" bindchange="selAge" min="18" max="24" name="uage" value="{{user.uage}}" show-value />
selAge(e){ console.log(e.detail.value) }
item | desc |
---|---|
checked | 是否选中 |
color | 已选择的颜色 |
type | switch, checkbox;默认是switch |
bindchange | 选择后触发 |