1. 程式人生 > >微信小程式之裝逼失敗篇

微信小程式之裝逼失敗篇

老闆突然興起,讓我做個小程式,當時我的心情是這樣的
這裡寫圖片描述
不能因為我曾經在群裡說過會JS就讓我做小程式啊,奴家做不到啊!

轉念一想,人在屋檐下,不得不低頭,只能硬著頭皮上了!

然後我就去小程式官網下了個所謂的IDE,看了一遍文件,看著還行,畢竟iOS出身,一看就懂!這裡寫圖片描述
然後過了一個星期,老闆誇我學得快,然後就沒有然後嘞。。。說好的做小程式呢,UI呢!設計呢!

正當我覺得小程式可以放下的時候,一個群裡有人問怎麼動態新增刪除Input,就像這樣這裡寫圖片描述
上午問一遍,下午問一遍,我看不下去了,就裝了一個逼,實在是後悔啊這裡寫圖片描述

沒辦法,自己裝的逼,跪著也要裝完,只能開啟坑爹的IDE,開始寫demo

最開始我以為用wx:for迴圈就可以啦,誰知道寫完新增倒是新增的很6,但是刪除的時候只能刪除最後一個,最後想到了用value屬性繫結data,輸入資料流向data,實現雙向邦定。。。

index.wxml

<view class="">
<!--<block wx:for="{{divList}}" wx:key="*this">-->
<view class="contentView" wx:for="{{divList}}" >
   <view class="del" bindtap="del" data-index="{{index}}">刪除</view>
  <input data-index="{{index}}" class="conteneInput" placeholder
="測試陣列新增和刪除" bindinput="bindKeyInput" value="
{{item.content}}"/> </view> <!--</block>--> <view class="add" bindtap="add">新增</view> </view>

index.wxss

.add{
  width: 100%;
  height: 30px;
  text-align: center;
  background-color: rebeccapurple;
  margin-top: 10px;
  line-height
: 30px
; }
.del{ width: 50px; height: 50px; background-color: orangered; } .conteneInput{ float: left; } .contentView{ display: flex; margin: 10px; }

index.js

//index.js
//獲取應用例項
var app = getApp()
Page({
  data: {

    divList:[]
  },
  onLoad: function () {

  },

  add:function(e){
    var arr = this.data.divList;
    var obj = {
      content:''
    }
    arr.push(obj)
    this.setData({
      divList: arr
    })
  },
  del:function(e){
    var arr = this.data.divList;
    var index = e.currentTarget.dataset.index
    arr.splice(index,1)
    this.setData({
      divList: arr
    })
  },
  bindKeyInput: function(e) {
    console.log(e)
    var arr = this.data.divList
    var obj = arr[e.currentTarget.dataset.index]
    obj.content = e.detail.value

    this.setData({
      divList:arr
    })
  }
})

實現的效果是這樣的

這裡寫圖片描述

最後小夥兒按照我的程式碼也實現了他想要的效果,總算裝逼成功,不辱使命!

雖然小程式帶了一個小字,但是寫起來也很費力,JS基礎也看了一遍,但是JS的高階函式搞得我頭暈,還有JS的面向物件,好扯啊,慢慢看吧!