php中文网 | cnphp.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 621|回复: 0

小程序实现数据双向绑定

[复制链接]

2670

主题

2677

帖子

9495

积分

管理员

Rank: 9Rank: 9Rank: 9

UID
1
威望
0
积分
6703
贡献
0
注册时间
2021-4-14
最后登录
2024-5-15
在线时间
674 小时
QQ
发表于 2022-1-12 13:02:12 | 显示全部楼层 |阅读模式
因为前端用vue习惯了,vue中有很多特性让开发变得十分方便。如v-mode实现数据的双向绑定。虽然小程序中没有自带的数据双向绑定,但利用bindinput、bindchange也能实现数据双向绑定。

案例:
效果展示:
输入值前
image.png
输入值后
image.png
源码
wxml
[mw_shl_code=applescript,true]<view>
    <form>
    <view>
        <label>用户名:{{user.uname}}</label>
        <input name="uname"
        bindinput="bindInput"
        type="text" placeholder="请输入用户名"
        data-item="uname"
       />
    </view>
    <view>
        <label>年龄:{{user.age}}</label>
        <input type="text" placeholder="请输入年龄"  bindinput="bindInput"  data-item="age"  />
    </view>
    <view>
        <label>性别:{{user.sex}}</label>
       <radio-group bind data-item="sex" bindchange="bindInput">
        <radio value="男">男</radio>
        <radio value="女">女</radio>
       </radio-group>
    </view>
   
   
    <view>
        <button form-type="submit" type="primary">提交</button>
    </view>
  
    </form>


</view>
[/mw_shl_code]
js

[mw_shl_code=applescript,true]data: {
    user:{
        uname:'',
        age:'',
        sex:''
    }
  },

  bindInput: function(e){

    let item=e.currentTarget.dataset.item; //在每个input绑定不同的item作为标识
    const user=this.data.user
    user[item]=e.detail.value //对象的属性名称是动态判定时,通过方括号标记访问
    this.setData({
      user
    })
  },
[/mw_shl_code]





上一篇:秒懂JS的this指向问题
下一篇:我在CSDN发表原创文章,被别人拿去发了一篇北大核心
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|php中文网 | cnphp.com ( 赣ICP备2021002321号-2 )

GMT+8, 2024-5-17 09:42 , Processed in 0.164804 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

申明:本站所有资源皆搜集自网络,相关版权归版权持有人所有,如有侵权,请电邮(fiorkn@foxmail.com)告之,本站会尽快删除。

快速回复 返回顶部 返回列表