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)

推薦する

NodeJSプロセスがどのように終了するかについて詳しく説明します

目次序文積極的な撤退例外、拒否、および発行されたエラー信号まとめ序文NodeJS プロセスが終了する...

JavaScript での && および || 演算子の使用例

目次序文&& 演算子|| 演算子|| 演算子の簡単なデモ章の目的ケース演習(json...

Mysql5.7 のグループ連結関数を使用するときにデータが切り捨てられる問題に対する完璧な解決策

一昨日、本番環境でGROUP_CONCAT関数を使用して選択したデータが切り捨てられ、最大長が102...

MySQL でのサブクエリの基本的な使用法

目次1. サブクエリの定義2. サブクエリの分類1. スカラーサブクエリ: 2. MySQLサブクエ...

トップに戻るボタンの例の JavaScript 実装

この記事では、トップに戻るボタンを実装するためのJavaScriptの具体的なコードを参考までに紹介...

Vueは小さなフォーム検証機能を実装します

この記事では、フォーム検証を実装するためのVueの具体的なコードを例として紹介します。具体的な内容は...

HTML ドラッグ アンド ドロップ機能の実装コード

Vueベースこの機能の核となるアイデアは、JavaScript コードを通じてページ上のノードの左余...

Nginx/Httpd ロードバランシング Tomcat 設定チュートリアル

前回のブログでは、Nginx と httpd を使用して、逆生成用のバックエンド Tomcat サー...

Dockerコンテナ監視の原理とcAdvisorのインストールおよび使用方法

本番環境におけるコンテナの稼働状況を監視することは非常に重要です。監視を通じて、コンテナの稼働状況を...

CSS 複合セレクタの具体的な使用法

交差点セレクター交差セレクターは、直接接続された 2 つのセレクターで構成されます。最初のセレクター...

Nginx 正規表現の詳細な説明

Nginx (エンジン x) は、高性能な HTTP およびリバース プロキシ サーバーであり、IM...

MySQL データベースに基づくデータ制約の例と 5 つの整合性制約の紹介

非準拠データがデータベースに入るのを防ぐために、ユーザーがデータを挿入、変更、削除、その他の操作を行...

MySQL で結合を使用して SQL を最適化する方法の詳細な説明

0. 以下のテストに関連する表を準備する関連するテーブル作成ステートメントについては、https:/...

エラー 1045 (28000): ユーザー ''root''@''localhost'' のアクセスが拒否されました (パスワード使用: YES) 実用的な解決策

昨日はデータベースへの接続に問題はありませんでしたが、今日はデータベースへの接続時にこのエラーが報告...

LinuxでのMySQLのインストール手順

1. mysql tar ファイルをダウンロードします。参考: 2. インストールパッケージがあるデ...