2017-02-15 16 views
1

ExtJs 4에서 저장소에있는 새 레코드가 서버로 동기화되기 전에 0을 ID로 가져 왔습니다. ExtJs 6에서 ID는 'Mb.model.images.Image-1'입니다.새 레코드는 자동 생성 된 id 값을 갖습니다. ExtJs 4에서와 같이 새 ID로 0을 얻는 방법?

Ext.define('Mb.model.images.Image', { 
    extend: 'Ext.data.Model', 
    fields: [ 
     {name: 'id', type: 'int'}, 
     {name: 'code', type: 'string'}, 
     {name: 'filename', type: 'string'}, 
     {name: 'path', type: 'string'} 
    ] 
}) 

ExtJs 6에서 이전 동작을 사용할 수 있습니까?

나는 identifier: 'sequential'을 보았지만 클라이언트쪽에 자동 증가 ID가 할당되어 서버 쪽에서 할당 된 ID와 충돌합니다.

답변

2

아니요, 아닙니다. 세션을 중심으로 ExtsJS 5가 변경되면 모든 모델에 고유 한 ID가 있어야합니다.

'팬텀'속성을 사용하여 모델이 저장되지 않았는지 확인할 수 있습니다. 또한 Proxy 클래스는 모델이 유령인지 여부를 알고 팬텀 플래그 (Create operations 대 Update 작업)의 상태에 따라 서버에 다른 호출을 실행합니다. 모든 서버 측 할당 ID는 새로 저장된 모델의 ID를 무시합니다.

+0

감사합니다. 이것은 다음 두 가지를 의미합니다. 서버에서 클라이언트 측 ID를 무시해야하고 그리드에서 데이터베이스의 레코드 ID를 표시 할 때 2, 의미없는 자동 생성 ID 문자열을 숨 깁니다. –

+0

꽤 많이 있습니다. 1 단계에서 백엔드가 작성과 갱신의 차이를 이해할 수 없으면 작성 조작이 ID를 송신하지 않도록 프록시를 사용자 정의 할 수 있습니다. –

+0

흥미로운 점입니다. 자동으로 생성 된 ID를 보내지 않도록 프록시를 구성하는 방법을 알려주시겠습니까? –