小程序动态添加input及删除

小程序动态添加input及删除

wxml部分

原理: 定义一个空数组,通过点击添加按钮向空数组中添加空值占位,通过在wxml中循环这个数组,来实现input 的添加和删除

 		<block wx:for="{{contacelist}}">
              <view class="contact-person" >
                      <view class="page-section">
                        <view class="weui-cells__title">姓名</view>
                        <view class="weui-cells weui-cells_after-title">
                          <view class="weui-cell weui-cell_input">
                            <input class="weui-input" data-index="{{index}}" name="{{'contentName' + index}}" value='{{nameVal[index]}}' bindinput='getNameVal' placeholder="请输入" />
                          </view>
                        </view>
                      </view>
                      <view class="page-section">
                        <view class="weui-cells__title">手机号</view>
                        <view class="weui-cells weui-cells_after-title">
                          <view class="weui-cell weui-cell_input">
                            <input class="weui-input" data-index="{{index}}" name="{{'contentPhone' + index}}" type="number" value='{{phoneVal[index]}}' bindinput='getPhoneVal' maxlength="11" placeholder="请输入" placeholder-style="color:#acacac" />
                          </view>
                        </view>
                      </view>
                <view class="delete-btn" data-id="{{index}}" bindtap="handleDeleteProduct">删除</view>
              </view>
            </block>
            <button class="sub-btn add-btn" style="background-color: #ff9600" type="primary" bindtap='add'>+ 添加职工代表</button>
         </block>

js部分

原理: 分别定义两个记录手机号和姓名的数组,实现删除添加时保留输入记录

data: {
    // 联系人列表(添加input用,无实际作用)
    contacelist: [{}],
    // 联系人名称
    nameVal: [],
    // 联系人手机号
    phoneVal: []
  },
  /**
  * 添加联系人
  */
   add(e) {
    // 点击添加按钮,就往数组里添加一条空数据
    var _list = this.data.contacelist;
    _list.push({})
    this.setData({
      contacelist: _list
    })
  },
    //获取姓名input的值
  getNameVal:function(e){
    var nowIdx=e.currentTarget.dataset.index;//获取当前索引
    var val=e.detail.value;//获取输入的值
    var oldVal=this.data.nameVal;
    oldVal[nowIdx]=val;//修改对应索引值的内容
    this.setData({
        nameVal:oldVal
    })
  },
  //获取手机号input的值
  getPhoneVal:function(e){
    var nowIdx=e.currentTarget.dataset.index;//获取当前索引
    var val=e.detail.value;//获取输入的值
    var oldVal=this.data.phoneVal;
    oldVal[nowIdx]=val;//修改对应索引值的内容
    this.setData({
      phoneVal:oldVal
    })
  },
  // 删除input
handleDeleteProduct: function (e) {
    let contacelist = this.data.contacelist
    let nameVal = this.data.nameVal
    let phoneVal = this.data.phoneVal
    let productIndex = e.currentTarget.dataset.id
    if (this.data.contacelist.length>1) {
      contacelist.splice(productIndex, 1)
      nameVal.splice(productIndex, 1)
      phoneVal.splice(productIndex, 1)
      this.setData({
        contacelist,
        nameVal,
        phoneVal
      })
      if (contacelist[productIndex]) {
        this.setXmove(productIndex, 0)
      }
    } else {
      this.setXmove(productIndex, 0)
      wx.showToast({
        title: '至少保留一个职工代表',
        icon: 'none'
      })
    }
  },

也可以不用定义两个数组(名字和手机号),把值加入到循环的input的数组中,contacelist:[{name: ‘’,input: ‘’}]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个简易的图书小程序的代码示例,包括收藏书籍、添加删除数据和推荐书籍的功能: ```python # 导入必要的库 import random # 图书列表 books = [ {"id": 1, "title": "Book 1", "author": "Author 1", "genre": "Genre 1"}, {"id": 2, "title": "Book 2", "author": "Author 2", "genre": "Genre 2"}, {"id": 3, "title": "Book 3", "author": "Author 3", "genre": "Genre 3"}, ] # 用户收藏的书籍列表 favorite_books = [] # 添加图书 def add_book(title, author, genre): book_id = random.randint(1000, 9999) book = {"id": book_id, "title": title, "author": author, "genre": genre} books.append(book) print("图书添加成功!") # 删除图书 def delete_book(book_id): for book in books: if book["id"] == book_id: books.remove(book) print("图书删除成功!") return print("未找到该图书!") # 收藏图书 def add_to_favorite(book_id): for book in books: if book["id"] == book_id: favorite_books.append(book) print("收藏成功!") return print("未找到该图书!") # 推荐图书 def recommend_books(): random_books = random.sample(books, 3) print("推荐图书如下:") for book in random_books: print(f"图书ID: {book['id']}, 标题: {book['title']}, 作者: {book['author']}, 类型: {book['genre']}") # 主程序 def main(): while True: print("欢迎使用图书小程序!") print("1. 添加图书") print("2. 删除图书") print("3. 收藏图书") print("4. 推荐图书") print("0. 退出程序") choice = input("请输入您的选择:") if choice == "1": title = input("请输入图书标题:") author = input("请输入图书作者:") genre = input("请输入图书类型:") add_book(title, author, genre) elif choice == "2": book_id = int(input("请输入要删除的图书ID:")) delete_book(book_id) elif choice == "3": book_id = int(input("请输入要收藏的图书ID:")) add_to_favorite(book_id) elif choice == "4": recommend_books() elif choice == "0": print("谢谢使用!再见!") break else: print("无效的选择,请重新输入!") # 运行主程序 if __name__ == "__main__": main() ``` 请注意,这只是一个简单的示例代码,你可以根据你的需求进行修改和扩展。在实际开发中,你还需要考虑数据库等方面的实现。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值