微信小程序项目_秋泊优选73

68、意见反馈_动态功能(选择显示图片)

1 点击“+”触发tap点击事件
pages\feedback\index.wxml

<button bindtap="handleChooseImg">+</button> 

调用小程序内置的选择图片的api(wx.chooseImage
在这里插入图片描述
获取到图片的路径数组
把图片路径存到data的变量中
页面就可以根据图片数组进行循环显示自定义组件
pages\feedback\index.js

  // 点击“+”选择图片
  handleChooseImg(){
    // 调用小程序内置的选择图片api
    wx.chooseImage({
      // 同时选中的图片的数量
      count: 9,
      // 图片的格式 原图 压缩
      sizeType: ['original', 'compressed'],
      // 图片的来源 相册 照相机
      sourceType: ['album', 'camera'],
      // 成功之后回调函数
      success: (result) => {
        console.log(result);
      }
    });  
  }

点击+按钮添加图片
在这里插入图片描述
存到data中便于页面渲染
pages\feedback\index.js

// pages/feedback/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    tabs:[
      {
        id: 0,
        value:"体验问题",
        isActive: true
      },
      {
        id: 1,
        value:"商品、商家投诉",
        isActive: false
      }
    ],
    // 被选中的图片路径数组
    chooseImgs:[]
  },

  // 标题点击事件从子组件传递过来
  handleTabsItemChange(e){
    console.log(e);
    // 1 获取被点击的标题索引
    const {index}=e.detail;
    // 2 修改源数组
    let {tabs}=this.data;
    tabs.forEach((v,i)=>i===index?v.isActive=true:v.isActive=false);
    // 3 赋值到data中
    this.setData({
      tabs
    })
  },

  // 点击“+”选择图片
  handleChooseImg(){
    // 调用小程序内置的选择图片api
    wx.chooseImage({
      // 同时选中的图片的数量
      count: 9,
      // 图片的格式 原图 压缩
      sizeType: ['original', 'compressed'],
      // 图片的来源 相册 照相机
      sourceType: ['album', 'camera'],
      // 成功之后回调函数
      success: (result) => {
        this.setData({
          // 图片数组进行拼接
        chooseImgs:[...this.data.chooseImgs,...result.tempFilePaths]
        })
      }
    });  
  }
  
})

在这里插入图片描述
pages\feedback\index.wxml

        <view class="fb_content">
            <textarea placeholder="请描述一下您的问题"></textarea>
            <view class="fb_tool">
                <button bindtap="handleChooseImg">+</button> 
                <view class="up_img_item" wx:for="{{chooseImgs}}" wx:key="*this"><UpImg src="{{item}}"></UpImg></view>
            </view>
        </view>

给自定义组件添加属性
components/UpImg/UpImg.js

// components/UpImg/UpImg.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    src:{
      type:String,
      value:""
    }
  },

  /**
   * 组件的初始数据
   */
  data: {

  },

  /**
   * 组件的方法列表
   */
  methods: {

  }
})

在标签中使用传递的src属性
components\UpImg\UpImg.wxml

<view class="up_img_wrap">
    <image src="{{src}}"></image>
    <icon type="clear" size="23">
    </icon>
</view>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值