当前位置: 首页 > article >正文

微信小程序小案例实战

.wxml:
<view class = "title">
  狂飙经典语录
</view>
<view class="out">
  <block wx:if="{{listArr.length}}">  <!--  bloock不会影响排版-->
      <view class="list">
        <view class="row" wx:for="{{listArr}}" wx:key="id">
            <view class="text">{{index+1}}.{{item.title}}</view> <!--  data-nums:传参数nums-->
            <view class="close" bind:tap="clickClose" bind:tap="clickClose" data-nums="{{index}}">
                <icon type ="clear" size="26"></icon>
            </view>
        </view>
    </view>
    <view class="count">
        共 {{listArr.length}} 条评论
    </view>
  </block>
  <view wx:else style="text-align: center;font-size: 38rpx; color: #555;padding: 20rpx 0 ;">暂无语录,请添加</view>
  <!--
      <view class="count" wx:if="{{listArr.length}}">
            共 {{listArr.length}} 条评论
        </view>
        <view  wx:else style="text-align: center;font-size: 38rpx; color: #555;padding: 20rpx 0 ;">暂无语录,请添加</view>
  -->
  <view class="comment"> <!-- model:value="{{iptValue}} 双向绑定-->
   <!-- bindconfirm="onSubmit" 敲回车和点击发布按钮功能一样-->
      <input type="text" placeholder="请输入评论内容..."placeholder-style="color:#aaa;font-size:30rpx;"
          model:value="{{iptValue}}"   bindconfirm="onSubmit"
      />
      <button size="mini" type="primary" disabled="{{!iptValue.length}}" bind:tap="onSubmit">发布</button>
  </view>
</view>
 .js:
// pages/test1/test1.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    iptValue:"",
    listArr:[
      {id:12345678,title:"告诉老墨,我想吃鱼!!"},
      {id:12345679,title:"咖啡不用冲,迟早会成功"},
      {id:12345670,title:"妻管严,很幸福的"}
    ]
  },
  onSubmit(){
    
      console.log(this.data.iptValue);
      let value = this.data.iptValue;
      let arr = this.data.listArr;
      arr.push({
        id:Date.now(),//设置时间戳,保证id不会重复;
        title:value
      });
      this.setData({
        listArr:arr,
        iptValue:""//把输入框清空
      });
       //发布成功,来个showToast提示:
       wx.showToast({
         title:"发布成功"
       })
  },
  clickClose(e){
    //点击删除的时候不能立即删除:
    wx.showModal({
       title: "是否确认删除",
       content:"删除之后不可恢复,请谨慎删除",
       success:res=>{
         if(res.confirm){
            console.log("留言的下标index为:"+e.currentTarget.dataset.nums);
            let {index} = e.currentTarget.dataset;
            let arr = this.data.listArr;
            arr.splice(index,1);//从下标index开始,移出几个元素
            this.setData({
              listArr:arr
            })
         }
       }
    })
 
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})
.wxss:
.title{
    font-size: 50rpx;
    text-align:center;
    color: #161515;
    border:solid pink;
    padding: 50rpx 0  30rpx;
}
.out{
  border:solid pink;
  width: 690rpx;
  margin: 30rpx;
  box-shadow:0 15rpx 40rpx rgba(0,0,0,0.5);/*它可以向框添加一个或多个阴影*/
  border-radius: 15rpx;/*设置边框圆角*/
  padding: 30rpx;
  /*border-box就是将border和padding数值包含在width和height之内, 好处就是修改border和padding数值盒子的大小不变*/
  box-sizing:border-box;
}

.out .list .row{
  padding: 15rpx 0;/*上下左右的内边距*/
  border-bottom: 5rpx solid #e8e8e8;/*设置元素下边框的样式*/
  display:flex;/*布局*/
  /*可以均匀排列盒子中的每个元素,首个元素放置于起点,末尾元素放置于终点。达到左右对齐的效果:*/
  justify-content: space-between; 
  align-items: center;/*align-items常用来设置垂直方向对齐方式  align-items: center;常用设置居中 */
  font-size: 34rpx;
  font-weight: 500;
  color: #161515;
}

.out .list .row .text{
  padding-right: 10rpx;
  box-sizing:border-box;
}

.out .count{
  padding: 20rpx 0;
  text-align: center;
  color: #888;
  font-size:30rpx;
}

.out .comment{
  display: flex;
  margin-top: 20rpx;
}

.out .comment input{
  flex:4 ;
  background: #f4f4f4;
  margin-right: 10rpx;
  height: 100%;
  height: 64rpx;
  border-radius: 15rpx;
  color: #333;
  padding: 0 0rpx;
 
}

.out .comment button{
  flex :1;
}


http://www.kler.cn/a/272836.html

相关文章:

  • SUN的J2EE与微软的DNA
  • 如何在vue中渲染markdown内容?
  • ElasticSearch下
  • 浅谈云计算20 | OpenStack管理模块(下)
  • Windows图形界面(GUI)-QT-C/C++ - QT 窗口属性
  • 浅谈云计算16 | 存储虚拟化技术
  • c语言大小写字母的转换
  • 用C语言链表实现图书管理
  • 23.1 微服务理论基础
  • 本人遇到大数据面试题和参考答案(超过1万字精华版)
  • LLM大模型统一封装接口解决方案
  • 论文笔记:Llama 2: Open Foundation and Fine-Tuned Chat Models
  • VMware 16下载安装,多图详细版
  • vue3+element-plus中dialog对话框组件去掉遮罩层后可以操作底层页面,以及弹窗嵌套弹窗如何去掉遮罩层且可以操作底层页面
  • MySQL学习Day32——数据库备份与恢复
  • 阿里云服务器配置怎么选择?
  • 本地虚拟机安装与网络配置
  • 数仓建模简介
  • 机器学习揭秘:如何让你的电脑变身智能侦探,预测未来趋势!
  • Spring集成hazelcast实现分布式缓存
  • Unity PS5开发 天坑篇 之 DEVKit环境部署与系统升级02
  • 什么是React属性钻取(Prop Drilling)
  • es索引操作命令
  • docker-compose一键部署若依前后端分离版本
  • Android Framework基础之C语言入门
  • 线程的通俗解释