amis 传输数据判空问题

现象

​ amis框架很方便,但它存在的不够人性化的问题是,传输数据问题,比如下面的例子

"api": {
    "method": "post",
    "url": "http://localhost:10044/tag/listTagByPage",
    "data": {
        "queryParams": [
            {
                "name": "id",
                "relation": "eq",
                "value": "${id}"
            },
            {
                "name": "name",
                "relation": "like",
                "value": "${name}"
            },
            {
                "name": "lastOperator",
                "relation": "eq",
                "value": "${lastOperator}"
            },
            {
                "name": "platform",
                "relation": "in",
                "value": "${platformName|split|default}"
            },
            {
                "name": "purpose.0",
                "relation": "in",
                "value": "${purpose|split|default}"
            },
            {
                "name": "idType",
                "relation": "in",
                "value": "${idType|split|default}"
            }
        ],
        "sortParams": [
            {
                "name": "id",
                "direction": "desc"
            },
            {
                "name": "createTime",
                "direction": "desc"
            }
        ],

我们通常在api的data中去配置对应需要传给后端的数据,但amis比较难受的点就这这里,一共两方面

  • 只要写在data中就一定会传到后台
  • 赋值后取消,会发送空值到后台

简单解释一下,什么意思

首先,如果我在amis中配置了

{
    "name": "id",
    "relation": "eq",
    "value": "${id}"
},

那当amis向后段发请求的时候,这个字段就一定会发过去,

比如当id等于空的时候,我不想发这个字段,但它还是会发过去,就没有办法去控制发什么,不发什么.发送内容如下:

{
    "name": "id",
    "relation": "eq"
}

另外,如果之前我让id等于001,比如

{
    "name": "id",
    "relation": "eq",
    "value": "001"
}

但之后我删除了id的值,value的值还是会发送到后台,但是是空值

{
    "name": "id",
    "relation": "eq",
    "value": ""
}

结论

所以在时候amis前端框架的时候,后台通常需要对前端传过来的值,进行空值判断,这就比较麻烦,需要根据不同字段的特性进行不同的判空操作

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值