微信小程序简单输入框界面(实现选择标签功能)

微信小程序简单输入框界面,实现选择标签功能、输入框字数计数的简单界面功能。

输入框布局界面
1、js代码:

Page({

  /**
   * 页面的初始数据
   */
  data: {
    count: 500,
    labelList: [{
        text: '开心',
        checked: true
      }, {
        text: '难受想哭',
        checked: true
      },
      {
        text: '快乐',
        checked: false
      }, {
        text: '囧',
        checked: false
      },
      {
        text: '悲伤',
        checked: false
      }, {
        text: '悲哀',
        checked: true
      },
      {
        text: 'emeo',
        checked: false
      }, {
        text: '流汗',
        checked: false
      },
      {
        text: '悲痛欲绝',
        checked: false
      }, {
        text: '加油',
        checked: true
      },
      {
        text: '沮丧',
        checked: true
      }, {
        text: '努力',
        checked: true
      },
    ]
  },
  inputArea: function (e) {
    let num = 500 - e.detail.value.length;
    this.setData({
      count: num < 0 ? 0 : num
    });
  },
  //选择监听
  selectClick(e) {
    let inx = e.currentTarget.dataset.index;
    let flag = this.data.labelList[inx].checked;
    let check = 'labelList[' + inx + '].checked';
    this.setData({
      [check]: !flag
    })
  },
  // 提交
  sumbitClick(e) {
    let formData = e.detail.value;
    let list = this.data.labelList,
      attr = [];
    for (let i = 0; i < list.length; i++) {
      if (list[i].checked) {
        attr.push(list[i].text)
      }
    }
    formData.label = attr;
    // 接受的数据,具体根据自己需求写
  },
})

2、wxml代码:

<form bindsubmit="sumbitClick">
  <view class="box">
    <view class="top-title">
      <text class="title">标题</text>
      <input name="title" class="weui-input" maxlength="30" auto-focus placeholder="好的标题更能引人注目~" />
    </view>
    <view class="bottom-box">
      <text class="title">说点儿什么呢?</text>
      <view class="area-text">
        <textarea name="content" bind:input="inputArea" class="weui-input" maxlength="500" placeholder="分享你的好心情~" />
        <view class="right">还可输入<text class="red"> {{count}} </text>字数</view>
      </view>
    </view>
    <view class="bottom-box">
      <text class="title">选择标签</text>
      <view class="label-box">
        <block wx:for="{{labelList}}" wx:key="item">
          <text bindtap="selectClick" data-index="{{index}}" class="label {{item.checked?'select':''}}">{{item.text}}</text>
        </block>
      </view>
    </view>
    <button class="button" type="warn" form-type="submit">提交信息</button>
  </view>
</form>

3、wxss代码:

page {
  background-color: white;
}

.box {
  margin: 20rpx;
}

.top-title {
  margin-bottom: 20rpx;
  border-bottom: 1rpx solid rgb(218, 217, 217);
}

.title {
  font-size: 32rpx;
}

.weui-input {
  padding: 15rpx 0;
  font-size: 30rpx;
  width: 100%;
}

.bottom-box {
  margin-top: 10rpx;
}

.right {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  font-size: 26rpx;
  margin: 5rpx;
  color: gray;
}

.red {
  color: red;
}

.area-text {
  margin-top: 20rpx;
  border: 1rpx solid rgb(218, 217, 217);
  padding: 5rpx 10rpx;
  border-radius: 10rpx;
}

.label {
  background-color: white;
  color: rgb(255, 196, 0);
  margin: 10rpx 25rpx 15rpx 0;
  font-size: 28rpx;
  padding: 5rpx 20rpx;
  border-radius: 50rpx;
  text-align: center;
  border: 1rpx solid rgb(255, 196, 0);
}

.select {
  background-color: rgb(255, 196, 0);
  color: white;
}

.label-box {
  margin-top: 10rpx;
  flex-wrap: wrap;
  display: inline-flex;
  flex-direction: row;
}

.button {
  border-radius: 50rpx;
  text-align: center;
  color: white;
  font-size: 30rpx;
  margin: 50rpx auto;
  width: 90%;
}

布局简单,对于初学者可以用来看看,随便写的,如果出现运行异常,请使用真机预览呦~

  • 13
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
微信小程序实现登录界面需要以下几个步骤: 1. 在小程序页面中创建一个表单,包含用户名和密码的输入框以及登录按钮。 2. 绑定表单提交事件,当用户点击登录按钮时触发。 3. 在事件处理函数中获取用户输入的用户名和密码,并进行校验。 4. 校验通过后向服务器发送登录请求,获取登录结果。 5. 根据登录结果进行相应的处理,如跳转到主界面或者提示登录失败。 下面是一个简单实现登录界面代码示例: ``` // login.wxml <view class="container"> <form bindsubmit="login"> <input name="username" placeholder="请输入用户名" /> <input name="password" type="password" placeholder="请输入密码" /> <button formType="submit">登录</button> </form> </view> ``` ``` // login.js Page({ login: function(e) { var username = e.detail.value.username; var password = e.detail.value.password; // 校验用户名和密码 if (username === '' || password === '') { wx.showToast({ title: '请输入用户名和密码', icon: 'none' }); return; } // 发送登录请求 wx.request({ url: 'http://example.com/login', method: 'POST', data: { username: username, password: password }, success: function(res) { if (res.data.code === 0) { // 登录成功,跳转到主界面 wx.navigateTo({ url: '/pages/home/home', }); } else { // 登录失败,提示错误信息 wx.showToast({ title: res.data.message, icon: 'none' }); } }, fail: function() { // 请求失败,提示网络错误 wx.showToast({ title: '网络错误', icon: 'none' }); } }); } }); ``` 在上面的代码中,我们定义了一个表单,绑定了提交事件 login。在事件处理函数中,获取用户输入的用户名和密码,并进行校验。如果校验通过,就向服务器发送登录请求,获取登录结果。根据登录结果进行相应的处理,如跳转到主界面或者提示登录失败。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三脚猫的喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值