>

질문이있어 다른 개발자에게 도움이 될 것입니다. API 측에 부울 인 "is_active"필드가 있지만 TRUE 또는 FALSE가 아닌 0 또는 1을 반환합니다. <FunctionField/> 를 사용하고 싶습니다   <BooleanField/> 를 포장  그러나 그것은 작동하지 않았습니다. 누군가 도와주세요.

이것은 내 코드입니다 :

<FunctionField source="is_active" label="is_active" render={(record) => record.is_active ? true : false}>
  <BooleanField/>
</FunctionField>

열이 여전히 비어 있습니다.

감사합니다.


  • 답변 # 1

    나는 당신이 FunctionField 를 오해했다고 생각합니다  구성 요소. 그것은 render 의 결과를 렌더링  소품. 달성하려는 목표는 다음과 같습니다.

    <FunctionField source="is_active" label="is_active" render={(record,source) => 
        <BooleanField record={{...record,is_active:!!record.is_active}} source={source}/>}/>
    
    
    그러나 이것은 그리 좋지 않습니다. 더 나은 당신의 dataProvider/restClient 를 포장하는 것입니다  데이터가 부울인지 확인하십시오.

    // In FixMyDataFeature.js
    export default restClient => (type, resource, params) => restClient(type,resource,params).then(response=>
       if(resource === 'Resource_with_numeric_is_active_field`){
          return {
             data: mutateIsActiveFieldToBoolean(response.data)
          }
       }
       else{
          return response;
       }
    );
    
    

    관리자에게 연락하십시오 :

    <Admin dataProvider={FixMyDataFeature(dataProvider)}... />
    
    

  • 이전 android - 발리를 사용하여 네트워크 전화를 걸 수 없습니다
  • 다음 python - 문자열 목록의 구두점 사전