今天本汪在闲逛时, 遇到了隔壁加菲猫, 她正在做一个
根据数据库某字段的属性,实现前端微信小程序wxml页面
checkbox隐藏的任务
作为根本闲不住的哈皮汪, 本汪又没忍住诱惑, 于是乎,帮了她这个忙
-----------其实本汪也想静静地装高冷,奈何本汪不是这性格啊
-----------爱心+100000000
让我们来看一下
————此处是任务要求
1.当车辆信息的flag属性为“已经被AI判为违法车辆”时,红标处的checkbox将不能被勾选,2.同时提示消息“该车辆已被AI智能监控系统预警,不可使用”
————此处是任务要求
<view class="drawer_title"><text style="margin-left:200rpx;">绑定司机</text><text style="margin-left:180rpx;color:#ff0000" data-statu="close" bindtap="yibang">X</text>
<!-- (<text style="color:#ff0000" bindtap="addSj">添加司机</text>) -->
<iew>
<view class="drawer_content">
<i style="margin-left:90rpx;">姓名</i>
<i style="margin-left:60rpx;">车牌号</i>
<i style="margin-left:120rpx;">手机号</i>
<checkbox-group bindchange="checkboxChange">
<view class="checkbox" wx:for="{
{list2}}" >
<checkbox style="margin-left:10rpx" value="{
{item.ID+'#'+item.DRIVER_ID+'#'+item.PLATE_NO}}" checked="{
{!item.FSTATUS}}" disabled="{
{item.DISABLED_STATUS}}" >
<i data-check='{
{item.STATUS}}' bindtap="warming">{
{
item.NAME}}</i>
<i style="margin-left:50rpx;" data-check='{
{item.STATUS}}' bindtap="warming">{
{
item.PLATE_NO}}</i>
<i style="margin-left:50rpx;" data-check='{
{item.STATUS}}' bindtap="warming">{
{
item.PHONE}}</i>
<eckbox>
<iew>
<eckbox-group>
<iew>
此为.wxml页面,<checkbox style="margin-left:10rpx" value="{
{item.ID+'#'+item.DRIVER_ID+'#'+item.PLATE_NO}}" checked="{
{!item.FSTATUS}}" disabled="{
{item.DISABLEitemD_STATUS}}" >
为我们需要调整的地方
我们用checkbox的disabled属性
,实现它的隐藏,所以只需对上面提到的flag属性进行判定,再将判断结果true
或false
赋值给item.DISABLEitemD_STATUS
即可
在对应的.js文件进行判断和item.DISABLEitemD_STATUS
的赋值,如下:
jsonApi.getData('getPCList', parms, (data) => {
console.log(data);
for(var index in data){
var flag = data[index].DISABLED_STATUS
if(flag=='已经被AI判为违法车辆'){
data[index].DISABLED_STATUS=true
}else{
data[index].DISABLED_STATUS=false
}
}
that.setData({
list2:data})
})
将列表中的每条数据都进行判断,返回Boolean值就OK了,这样任务1就完成了
——————————看任务二
同时提示消息“该车辆已被AI智能监控系统预警,不可使用
还记得第一段代码里的这段吗?
<i style="margin-left:50rpx;"
data-check='{
{item.STATUS}}'
bindtap="warming">{
{
item.PHONE}}</i>
bindtap
为点击绑定事件的组件属性,为她设置形参warming
这样就可以在.js
文件里编写对应的消息弹出了
.js
文件内容如下:
warming:function(msg){
var that = this;
var s = msg.currentTarget.dataset.check;
if(s=='代理已确认'){
that.showNotice('该车辆已被AI智能监控系统预警,不可使用',false,false)
}
}
本汪解释下:
msg为后台数据返回参数,其下有当前对象,当前对象中包含数据设置字段,最后是check属性
this
此处是为了调用封装的方法showNotice(a,b,c)
,三个参数:a为所显示的消息内容,b为是否显示取消按钮,c为是否进行跳转
本汪想说:当然,这个可以根据实际需求自行编写
showNotice:function(content,showCancel,jump){
var that=this;
wx.showModal({
title: '消息提示',
content: content,
showCancel: showCancel, // 是否显示取消按钮,默认为 true
cancelText : "取消",
cancelColor: "#ff0000",
confirmText : "确定",
confirmColor : "#238e23",
success: function(res) {
if (res.confirm) {
console.log("点击了确定");
if(jump){
wx.redirectTo({
url: '/page/index/index?roleId=1&userName='+that.data.userName
})
}
}
if (res.cancel) {
console.log("点击了取消");
}
}
})
}