微信小程序> 小程序input数据双向绑定

小程序input数据双向绑定

浏览量:876 时间: 来源:极乐叔

我们都知道 vue 中可以使用 modal 来实现 input 内容数据的双向绑定。

小程序好像没有提供相应的方法支持,就需要我们自己写了。

原理

很简单,在 input 上先绑定需要取值的变量,如这个变量名是 name,然后再定义一个用于指向变量名的属性 data-modal 这个属性值设置为 name,在 input 的绑定方法中将这个属性值取出,就会知道这个 input 绑定了哪个变量,然后再将 input 的当前值赋给这个变量即可。

实现

wxml

input id='name'     name="name"    type='text'     value='{{name}}'  !-- input 从 js 中的 data.name 取值 --    data-modal='name'  !-- 这里通过 data-xx 的形式传递一个需要绑定的变量名,之后可以通过 event.dataset.xxx 轻松取到 --    bindinput='handleInputChange' !-- 这里绑定 input 内容变化时的处理方法 --    /input

wxs

Page({    data: {        name: String    },        // 处理 input 数据双向绑定    handleInputChange: function (e) {        // 取出定义的变量名        let name = e.currentTarget.dataset.modal;        // 取出实时的变量值        let value = e.detail.value;        // 定义一个键值对        let dataMap = {};        // 设置这个键值对的键和值        dataMap[name] = value;        // 刷新数据        this.setData(dataMap);        // 这里用于测试        console.log(name, ':', this.data[name]) // 显示 page 内 data 的实际数据    }}

效果如下图:

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎