baidu / amis

前端低代码框架,通过 JSON 配置就能生成各种页面。
https://baidu.github.io/amis/
Apache License 2.0
17.23k stars 2.5k forks source link

table,按钮禁用和传值问题 #8338

Closed jackHuang-123 closed 11 months ago

jackHuang-123 commented 1 year ago

实现场景:

请简单描述你想要实现的原始场景,例如:我想要实现xxx的功能... image ,geng'j根据账号的状态来控制操作按钮,更新锁定状态按钮是否能点击,正常和锁定能够点击,其他不能,还有根据传的值lockFlag,如果是正常传1,锁定传2,

存在的问题:

请简单描述你现在遇到的不符合预期的问题... 一直显示不能点击,所有都无法点击。不知道怎么判断来传这个api拼接的值

当前方案:

请粘贴你当前方案的完整 amis schema 代码... { "type": "page", "title": "用户管理列表", "body": [

{
  "autoGenerateFilter": {
    "columnsNum": 4,
    "showBtnToolbar": false
  },
  "type": "crud",
  "syncLocation": false,
  "api": {
    "method": "post",
    "url": "$api_domain/plugins/ucenter/account/getPage",
    "data": {
      "pageNum": "${page|default:undefined}",
      "pageSize": "${perPage|default:undefined}",
      "condition":{
        "username": "${username}"
      }

    },
    "messages": {},
    "dataType": "json",
    "headers": {
      "Content-Type": "application/json"
    }
  },
  "columns": [

    {
      "name": "username",
      "label": "登录名",
      "searchable": {
        "type": "input-text",
        "name": "username",
        "label": "姓名",
        "placeholder": "输入姓名"
      }
    },
    {
      "name": "state",
      "label": "账户状态"
    },
    {
      "name": "wechat",
      "label": "微信id" 
    },
    {
      "name": "zfb",
      "label": "支付宝id"
    },
    {
      "name": "memberOid",
      "label": "用户主键"
    },
    {
      "type": "operation",
      "label": "操作",
      "width": 200,
      "buttons": [
        {
          "type": "button",
          "label": "用户明细",
          "actionType": "dialog",
          "level": "info",
          "size":"md",
          "dialog": {
            "title": "编辑用户",
            "body": {
              "type": "form",
              "controls": [
                {
                  "name": "name",
                  "label": "姓名",
                  "type": "text"
                },
                {
                  "name": "platform",
                  "label": "部门",
                  "type": "text"
                },
                {
                  "name": "age",
                  "label": "年龄",
                  "type": "number"
                }
              ]
            }
          }
        },
        {
          "type": "button",
          "label": "更新锁定状态",
          "actionType": "ajax",
          "level": "danger",
          "size":"md",
          "confirmText": "确定要更新用户状态?",
          "api": {
            "method": "put",
            "url": "$api_domain/plugins/ucenter/account/state/${memberOid}/${lockFlag}"
          },
          "reload": true,
          "disabled": "(${state} !== '正常')"
        }
      ]
    }
  ]
}

], "data": { "api_domain": "http://192.168.110.40:9000", "user": "eyJ1c2VyT2lkIjoxMDAxLCJ1c2VybmFtZSI6ImFkbWluIiwicGFzc3dvcmQiOiIxMjM0NTYifQ\u003d\u003d" } }

code here...
2betop commented 11 months ago

表达式语法错误,应该是这样

"disabledOn": "${ state !== '正常' }"