微信小程序中的this.setData()

以前竟然都没注意这个: 我们可能经常性的写出这样的data:

data: {
    listt:[
      {
        text: "本周阻止辅导员职业技能大赛生情熟知和谈心谈话比赛",
        date: "2020.03.03-2020.03.20",
        mxc_gou:''
      },
      {
        text: "由孟笑晨真德帅独家冠名播出的XXXX活动火热进行中",
        date: "2020.03.04-2020.04.11",
        mxc_gou:''
      }
    ],
  },

但是问题来了,我们需要修改某(每)一项的属性mxc_gou的时候却发现禁止访问! 原因是涉及到了嵌套!我们采用模板字符串解决:

this.setData({
        [`listt[${index}].mxc_gou`]: '√',
        [`listt[${index}].del`]:'yes'
      })

微信小程序获取input框内容

有两种方法:

  1. form标签内事件bindsubmit
  2. 对每一项input都调用一个bindinput事件,将值传到data中
<form bindsubmit='loginForm'>
  <text class='login-title'>用户登录:</text>
  <input type='text' name='username' placeholder="请输入用户名"></input>
  <input type='password' name='password' placeholder="请输入账号密码"></input>
  <view class='ligin-button'>
    <button formType="submit" type='primary'>点击提交</button>
    <button formType="reset" type='primary'>重置数据表单</button>
  </view>
</form>

//js中
const { username, password }=e.detail.value;
<input class='create-title' placeholder="投票标题" bindinput="voteTitle"></input>

Page({
  data: {
    voteTitle: null,
  },
  voteTitle: function(e){
    this.data.voteTitle = e.detail.value;
  },
})

数组去重

//对数组arr
/**
*	self:指向数组
*	index:值,指向下标
*	e:指向(数组中)元素
*/
var r=arr.filter(function(e,index,self){
	return self.indexOf(e)==index;
});