wxml页面中,字符串转为Boolean类型,实现组件隐藏功能,同时进行消息提示----本汪要蹭微信小程序的热度

今天本汪在闲逛时, 遇到了隔壁加菲猫, 她正在做一个根据数据库某字段的属性,实现前端微信小程序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属性进行判定,再将判断结果truefalse 赋值给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("点击了取消");
          }
        }
      })
    }

猜你喜欢

转载自blog.csdn.net/weixin_42994251/article/details/107093676
今日推荐