小程序给对象赋值(双向绑定)方法之一

场景:在我编辑表单的时候,希望将数据同步到最终提交的表单对象数据中,这里用的是vantUI的 van-field 组件

wxml:

html 复制代码
<van-field model:value="{{loginParams.username}}" clearable placeholder="输入账号或手机号码" error="{{!loginParams.username}}" left-icon="contact" bind:click-icon="onClickIcon" data-name="username" bind:change="changeForm" />

<van-field class="pawd" model:value="{{loginParams.password}}" type="{{paswdType}}" left-icon="lock" error="{{!loginParams.password}}" placeholder="请输入密码" icon="{{seePaswd}}" clearable bind:click-icon="paswdSee" data-name="password" bind:change="changeForm" />

先根据数据名称绑定 data- 属性:

因为我的用户名叫做****username所以给账号就绑定 data-name="username"

密码跟账号的方法一样

然后再绑定同样的事件: bind:change="changeForm"

JS:

javascript 复制代码
data:{
loginParams:{
        username:'',
        password:'',
        code:''
      }

}


///方法:
changeForm(e){//更改表单的方法
      let curType = e.currentTarget.dataset.name//获取对应的对象名称
      this.setData({
        [`loginParams.${curType}`]:e.detail//根据对象名称赋值
      })
    }

到这,就成功了

vantui也提供了双向绑定数据的方法,但是那是简单的数据,如果是对象形式的好像就失效了,也许是我的方法不对,欢迎各位同仁指导

相关推荐
PC2005-cloud1 小时前
博文已索引但不展示:一次 Bing SEO 问题排查记录
服务器·人工智能
沸速存储1 小时前
整机瓶颈判断思路,自上而下定位卡顿根源
运维·服务器·电脑·内容运营
乌萨奇也要立志学C++2 小时前
【Linux】网络基础 从零理解网络通信:局域网、跨网传输与 Socket 预备知识
linux·服务器·网络
万岳科技系统开发4 小时前
校园跑腿外卖搭建助力高校周边商家拓展线上业务
大数据·人工智能·小程序
2601_965798475 小时前
Is Hygia Good for Maid & Janitorial Sites? Technical Audit
服务器·网络·数据库
蚰蜒螟6 小时前
从内核源码看Linux启动:chroot、execve与MS_MOVE的协奏曲
linux·服务器·网络
来者皆善7 小时前
ZYNQ linux上使用 USB CDC ACM
linux·运维·服务器
缓慢更新8 小时前
企业档案管理系统迁移实录:从文件服务器到智能检索引擎
运维·服务器
Dawn-bit8 小时前
Linux磁盘分区与Swap和磁盘故障查询
linux·运维·服务器·网络·云计算
梦想三三8 小时前
LangChain Output Parser 实战:从字符串到结构化数据的完整指南
android·服务器·langchain·github·uv