GridManager 데이터 형식 조정

3199 단어
GridManager는 데이터를 처리할 때 정해진 데이터 형식을 사용해야 합니다.실제 장면에서 다소 격식 차이가 존재하기 때문에 여기서 이러한 차이의 처리 방식을 설명할 것이다.
1. 필드 이름만 반환 부적합
예를 들어 1급 데이터 중의 데이터와 토탈스는 데이터 키와 토탈스 키로 조정할 수 있다.
백엔드에서 다음 데이터를 반환합니다.
{
    "list":[  // GridManager   data,   list
        {
            "name": "baukh",
            "age": "28",
            "createDate": "2015-03-12",
            "info": " ",
            "operation": " "
        },
        {
            "name": "baukh",
            "age": "28",
            "createDate": "2015-03-12",
            "info": " ",
            "operation": " "
        }
    ],
    "number": 8  // GridManager   totals,   number
}

해결 방법:
document.querySelector('table').GM('init', {
    supportAjaxPage: true, //  
    dataKey: 'list', //   key   list
    totalsKey: 'number', //   key   number
    requestHandler: function(request){
        request.newParams = '  requestHandler  ';
    },
    //  ...
});

2. 백엔드 반환 데이터와 백엔드가 기대하는 반환 데이터의 차이가 비교적 크다
그룹의createDate와 같이 시간 스탬프를 되돌려 주고 문자열을 되돌려 주기를 원합니다.이 경우 responseHandler 구성을 초기화하여 데이터를 재구성할 수 있습니다.
백엔드에서 다음 데이터를 반환합니다.
{
    "list":[  // GridManager   data,   list
        {
            "name": "baukh",
            "age": "28",
            "createDate": "2015-03-12", //  
            "info": " ",
            "operation": " "
        },
        {
            "name": "baukh",
            "age": "28",
            "createDate": "2015-03-12", //  
            "info": " ",
            "operation": " "
        }
    ],
    "number": 8  // GridManager   totals,   number
}

프런트엔드에서 원하는 반환 대상은 다음과 같습니다.
{
    "data":[
        {
            "name": "baukh",
            "age": "28",
            "createDate": 1426118400000,  //  
            "info": " ",
            "operation": " "
        },
        {
            "name": "baukh",
            "age": "28",
            "createDate": 1426118400000, //  
            "info": " ",
            "operation": " "
        }
    ],
    "totals": 8
}

해결 방법:
document.querySelector('table').GM('init', {
    supportAjaxPage: true, //  
    dataKey: 'list', //   key   list
    totalsKey: 'number', //   key   number
    responseHandler: function(response){
        //   createDate    
        response.list = response.data.map(function(item){
            item.createDate = new Date(item.createDate).getTime();
            return item;
        });
    },
    //  ...
});

작성자: @ 기대(테이블 관리 소스 항목 Grid Manager)
Want to know How To Make Love?I know HTML!

좋은 웹페이지 즐겨찾기