今回は、WeChat アプレットにカスタマイズされた複数選択イベントを実装する方法を説明します。WeChat アプレットにカスタマイズされた複数選択イベントを実装するための注意点は何ですか? 以下は実際的なケースです。 。 z下の図の効果(カスタマイズされた複数選択ラジオ選択)を実現するには、ほとんどの企業プロジェクトの複数選択ボックスは独自に設計されているため、ネイティブのタグやコンポーネントを使用するのは現実的ではありません。自分でイベントをバインドし、選択した画像と選択されていない画像を切り替えます。アプレットはvueと同様にDOM操作ができないため、配列の添え字とカスタム属性
を使って三値判定を行う必要があります。コードに直接移動します:
wxml:<view class="sel-box"> /**用wx:for来进行列表渲染**/ <view wx:for="{{repContent}}" class="multi-selection"> <text>{{item.message}}</text> /**利用数组的下标index来进行判断是哪个的事件**/ <image src="{{selectIndex[index].sureid? hasSelect : noSelect}}" class="multi-img" data-selectIndex="{{index}}" bindtap="selectRep" /> </view> </view>
Page({ /** * 页面的初始数据 */ data: { noSelect: 'https://xxxxx/ic_report_nor@2x.png', hasSelect: 'https://xxxxx/ic_check_ele@2x.png', repContent: [{ message: '广告内容' }, { message: '不友善内容' }, { message: '垃圾内容' }, { message: '违法违规内容' }, { message: '其他' }], selectIndex: [ { sureid: false }, { sureid: false }, { sureid: false }, { sureid: false }, { sureid: false }, ], }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, selectRep:function(e){ let index = e.currentTarget.dataset.selectindex; //当前点击元素的自定义数据,这个很关键 let selectIndex = this.data.selectIndex; //取到data里的selectIndex selectIndex[index].sureid = !selectIndex[index].sureid; //点击就赋相反的值 this.setData({ selectIndex: selectIndex //将已改变属性的json数组更新 }) } })
webpack+react開発環境の構築方法
以上がWeChat アプレットでカスタムの複数選択イベントを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。