>

알겠습니다. 다른 미국과 ​​함께 셀렉터를 만들고 싶습니다. 이 패키지를 사용하겠습니다 : 입력 용 :

var usStates = new UsaStates(); console.log(usStates.states);

출력 :

{
    name: "Alabama",
    abbreviation: "AL",
    territory: false,
    capital: "Montgomery",
    contiguous: true
},
{
    name: "Alaska",
    abbreviation: "AK",
    territory: false,
    capital: "Juneau",
    contiguous: false
},
...(other states omitted for brevity)
{
    name: "Wyoming",
    abbreviation: "WY",
    territory: false,
    capital: "Cheyenne",
    contiguous: true
}

이미 셀렉터 컴포넌트가 있지만 옵션은 다음과 같이 배열 소품으로 사용합니다 :

<LNSelect
                options={[
                  { label: "Alabama", value: "AL" },
                  { label: "New York", value: "NY" },
                ]}
></LNSelect>

패키지 기능을 사용하여 레이블을 이름과 값을 약어로 사용하여 필요한 형식으로 배열을 만들 수 있습니까?

많은 감사합니다!

  • 답변 # 1

    배열 변환은 보통 map 로 수행됩니다. . 이미 해당 형식으로 제공된 경우 상태 배열에서 맵을 호출하거나 Object.entries() 를 사용하십시오.  지도와 함께 사용하기 위해 객체를 배열로 변환합니다.

    const states = [{
        name: "Alabama",
        abbreviation: "AL",
        territory: false,
        capital: "Montgomery",
        contiguous: true
    },
    {
        name: "Alaska",
        abbreviation: "AK",
        territory: false,
        capital: "Juneau",
        contiguous: false
    },
    {
        name: "Wyoming",
        abbreviation: "WY",
        territory: false,
        capital: "Cheyenne",
        contiguous: true
    }];
    const options = states.map(state => {
      return {
        label: state.name,
        value: state.abbreviation
      }
    });
    console.log(options);
    
    

  • 답변 # 2

    JS 만 사용하여 직접 매핑 할 수있을뿐만 아니라 설명서에는 다음과 같은 사용자 정의 형식을 만들 수 있다고 지정되어 있습니다.

    var myCustomStates = usStates.format({
        $label: 'name',
        $value: 'abbreviation',
    });
    
    

    '$'가 원하는 리터럴 문자열로 변환되는 경우 패키지는 특정 값을 키/값에 연결하려고 시도합니다 (예 : 'name'은 "New York"이되고 '$name'은 단순히 '이름').

    (어떤 패키지 든 먼저 설명서를 읽으십시오.)

관련 자료

  • 이전 java - 복합 키에 사용될 때 스프링 데이터/최대 절전 모드 쿼리에서 JPA AttributeConverter가 적용되지 않음
  • 다음 python 2.7 - 터미널에 대한 GitLab 인증