gpt4 book ai didi

ExtJS - 使用 JsonReader 对复杂对象进行 null 安全检索

转载 作者:行者123 更新时间:2023-12-01 23:35:07 26 4
gpt4 key购买 nike

我正在使用 JsonReader 将 Json 数据映射到要在网格/表单中使用的变量。后端在 Java 中,有一些复杂的对象,我将其 Jsonify 并传递给 ExtJS 前端。这是我的 JsonReader 的一部分,它试图检索嵌套对象 -

{name:'status', type: 'string', mapping: 'status.name'}

当 status 有一个值(在服务器中不是 null)时,这工作正常,但当 status 为 null 时,网格加载失败。目前我的解决方法是在 null 的情况下从服务器发送一个空对象,但我认为应该有一种方法可以在 ExtJS 中处理这个问题。请在 ExtJS 方面提出更好的解决方案。

最佳答案

我可以想到两种可能性 - 一种有记录,一种没有记录:

  1. 使用 Ext.data.Fieldconvert() 机制:

    {
    name:'status',
    mapping: 'status',
    convert: function(status, data) {
    if (!Ext.isEmpty(status) && status.name) {
    return status.name;
    } else {
    return null;
    }
    }
    }
  2. mapping 属性也可以采用提取函数(这是未记录的,因此依赖它可能会有一点风险):

    {
    name:'status',
    mapping: function(data) {
    if (data.status && data.status.name) {
    return data.status.name;
    } else {
    return null;
    }
    }
    }

关于ExtJS - 使用 JsonReader 对复杂对象进行 null 安全检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5711992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com