WeChatアプレットは画像コントロールを選択します

WeChatアプレットは画像コントロールを選択します

この記事の例では、WeChatアプレットで画像コントロールを選択するための具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

xml:

<読み込み中 非表示="{{loadingHidden}}">
 読み込み中...
</読み込み中>
<view class="add_carimg">
 <ブロック>
 <view class="load_iamge">
 <text class="load_head_text">建設車両の写真をアップロードする</text>
 <text class="load_foot_text">{{imgbox.length}}/2</text>
 </ビュー>
 <view class='ページ'>
 <view class="images_box">
 <block wx:key="imgbox" wx:for="{{imgbox}}">
  <view class='img-box'>
  <image class='img' src='{{item}}' data-message="{{item}}" bindtap="imgYu"></image>
  <view class='img-delect' data-deindex='{{index}}' bindtap='imgDelete1'>
  <image class='img' src='/pages/images/delete_btn.png'></image>
  </ビュー>
  </ビュー>
 </ブロック>
 <view class='img-box' bindtap='addPic1' wx:if="{{imgbox.length<2}}">
  <画像クラス='img' src='/pages/images/load_image.png'></画像>
 </ビュー>
 </ビュー>
 </ビュー>
 </ブロック>
</ビュー>
<表示>
 <button class="work_btn" bindtap="shanggang">仕事に行く</button>
</ビュー>

css:

.work_btn {
 幅: 60%;
 高さ: 35px;
 行の高さ: 35px;
 上マージン: 15px;
 境界線の半径: 5px;
 フォントサイズ: 30rpx;
 色: 白;
 背景色: rgb(2, 218, 247);
}
 
.work_btn:アクティブ{
 幅: 60%;
 高さ: 35px;
 行の高さ: 35px;
 上マージン: 15px;
 境界線の半径: 5px;
 フォントサイズ: 30rpx;
 色: 白;
 背景色: rgb(151, 222, 231);
}
 
/************/
 
.load_image {
 幅: 100%;
 高さ: 30px;
 上マージン: 10px;
 ディスプレイ: フレックス;
 flex-direction: 行;
}
 
.load_head_text {
 幅: 95%;
 高さ: 20px;
 下部マージン: 5px;
 上マージン: 5px;
 
 
}
 
.load_foot_text {
 幅: 5%;
 高さ: 20px;
 右マージン: 15px;
 上マージン: 5px;
 下部マージン: 5px;
 フロート: 右;
 
}
 
.ページ {
 幅: 98%;
 マージン: 自動;
 オーバーフロー: 非表示;
}
 
/* 写真*/
.images_box {
 幅: 100%;
 ディスプレイ: フレックス;
 flex-direction: 行;
 flex-wrap: ラップ;
 コンテンツの配置: flex-start;
 背景色: 白;
}
 
.img-ボックス{
 境界線: 2rpx;
 境界線のスタイル: solid;
 境界線の色: rgba(170, 167, 167, 0.452);
 幅: 200rpx;
 高さ: 200rpx;
 左マージン: 35rpx;
 上マージン: 20rpx;
 下部マージン: 20rpx;
 位置: 相対的;
}
 
/* 画像を削除する */
.img-選択{
 幅: 50rpx;
 高さ: 50rpx;
 境界線の半径: 50%;
 位置: 絶対;
 右: -20rpx;
 上: -20rpx;
}
 
.img {
 幅: 100%;
 高さ: 100%;
}

js:

ページ({
 
 /**
 * ページの初期データ */
 データ: {
 一時ファイルパス: '',
 imgbox: [], //画像を選択 fileIDs: [], //クラウドストレージにアップロードした後の戻り値 src: 0,
 },
 
 onLoad: 関数 (オプション) {
 
 
 },
 //画像クリックイベント imgYu: function (event) {
 var that = this;
 
 console.log(event.target.dataset.message + "これは何ですか");
 var src = event.target.dataset.message;
 //画像プレビュー wx.previewImage({
 current: src, // 現在表示されている画像の http リンク urls: [src] // プレビューする必要がある画像の http リンクのリスト})
 }, // 写真を削除&&
 imgDelete1: 関数(e) {
 that = this とする;
 index = e.currentTarget.dataset.deindex; とします。
 imgbox を this.data.imgbox とします。
 imgbox.splice(インデックス、1)
 that.setData({
 画像ボックス:画像ボックス
 });
 },
 // 写真を削除&&
 imgDelete1: 関数(e) {
 that = this とする;
 index = e.currentTarget.dataset.deindex; とします。
 imgbox を this.data.imgbox とします。
 imgbox.splice(インデックス、1)
 that.setData({
 画像ボックス:画像ボックス
 });
 },
 //画像を選択&&&
 addPic1: 関数(e) {
 var imgbox = this.data.imgbox;
 コンソール.log(画像ボックス)
 var that = this;
 var n = 2;
 (2>imgbox.length>0)の場合{
 n = 2 - imgbox.length;
 } そうでなければ (imgbox.length == 2) {
 1;
 }
 wx.chooseImage({
 count: n, // デフォルトは 9 です。画像の数を設定します。sizeType: ['original', 'compressed'], // 元の画像か圧縮された画像かを指定できます。デフォルトでは両方とも使用できます。sourceType: ['album', 'camera'], // ソースがアルバムかカメラかを指定できます。デフォルトでは両方とも使用できます。success: function (res) {
  // コンソール.log(res.tempFilePaths)
  // 選択した写真のローカルファイルパスのリストを返します。tempFilePath は、画像を表示するための img タグの src 属性として使用できます。var tempFilePaths = res.tempFilePaths
  console.log('path' + tempFilePaths);
  (imgbox.length == 0)の場合{
  imgbox = 一時ファイルパス
  } そうでなければ (2 > imgbox.length) {
  imgbox = imgbox.concat(tempFilePaths);
  }
  that.setData({
  画像ボックス: 画像ボックス,
  画像番号: 画像ボックスの長さ
  });
 }
 })
 },
 
 //画像imgbox: function (e) {
 this.setData({
 imgbox: e.detail.value
 })
 },
 
})

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • WeChatアプレットが画像選択とプレビュー機能を実装
  • WeChat アプレット chooseImage の使い方 (ローカル アルバムから画像を選択するか、カメラを使用して写真を撮る)
  • WeChatアプレット画像選択領域切り取り実装方法
  • WeChatアプレットは写真を選択し、プレビュー画像機能を拡大します
  • WeChatアプレット画像選択、サーバーへのアップロード、プレビュー(PHP)実装例
  • WeChatアプレットchooseImageは画像を選択したり写真を撮ったりします
  • WeChatミニプログラム - 写真を撮るか、画像を選択してファイルをアップロードします

<<:  nginxディレクトリパスをリダイレクトする方法

>>:  MySQL 5.7.13 winx64 のインストールと設定方法のグラフィック チュートリアル (win10)

推薦する

Vueはユーザー名が使用可能かどうかの検証を実装します

この記事では、ユーザー名が使用可能かどうかを確認するためのVueの具体的なコードを例として紹介します...

MySQL が暗黙のデフォルト値を処理する方法

何人かの学生は、マスターとスレーブの間の不一致の問題に遭遇したと述べました。一般的な状況としては、m...

OpenLayersはポイントフィーチャーレイヤーの集約表示方法を実現します

目次1. はじめに2. ポイントフィーチャーレイヤーの集約3. 重合の特殊処理4. 重合の特殊処理 ...

MySQL での実行計画の詳細分析

序文効率的なSQL文の書き方は、Explain実行計画の分析と切り離せません。実行計画とは何か、効率...

Vue 3 での watch と watchEffect の新しい使い方

目次1. 時計の新しい使い方1.1. ウォッチの使用構文1.2. 複数の属性値を監視する1.3. 参...

Docker で MySQL マスター スレーブ レプリケーションを実装するためのサンプル コード

目次1. 概要1. 原則2. 実装3. スレーブインスタンスを作成する4. マスタースレーブ構成要約...

MySQLのカバーインデックスに関する知識ポイントのまとめ

インデックスにクエリする必要があるすべてのフィールドの値が含まれている(またはカバーしている)場合、...

Node.js でのクラスター作成に関する簡単な説明

目次クラスタクラスターの詳細クラスター内のイベントクラスター内のメソッドクラスター内の属性クラスター...

自動ヘルスレポートを実現するDocker+Selenium方式

この記事では、ある大学の健康報告システムを例に、Web 側の自動化操作を完成させます。使用したテクノ...

jQueryで大画面スクロール再生効果を実現

この記事では、大画面スクロール効果を実現するためのjQueryの具体的なコードを参考までに紹介します...

ウェブページ作成に役立つコード

<br />ホームページの右側にあるスクロールバーを削除するにはどうすればよいですか? ...

Dockerは元のタグのイメージの再タグ付けと削除を実装します

docker イメージ ID は一意であり、イメージを物理的に識別できます。repository: ...

この記事では、イベント委任を使用してJavaScriptメッセージボード機能を実装する方法について説明します。

イベント委任を使用してメッセージ ボード機能を実装します。 <!DOCTYPE html>...

MySQL 百万レベルのデータページングクエリ最適化ソリューション

データベースからクエリする必要があるテーブルに数万件のレコードがある場合、すべての結果を一度にクエリ...

HTMLメタの大きな役割

メタ属性には、name と http-equiv の 2 つがあります。 name 属性は主に、We...