programing

Vuetify 콤보 상자가 값 대신 ID를 반환하지 않음

goodcopy 2022. 7. 28. 22:40
반응형

Vuetify 콤보 상자가 값 대신 ID를 반환하지 않음

난 지금 형체를 만들고 있는 중이야<v-combobox>양식을 작성하는 사람을 위한 자동 보완 장치입니다.그것만 해도 성공했는데 이상한 문제가 생겼어요.실제로 선택했을 때 그 아이템이<v-combobox>는, 입력이 올바르게 입력되고 있는 것을 나타냅니다.다만, 폼을 송신하면,id선택한 값이 아닌 옵션 배열로 표시됩니다.이것은 잘못된 것 같습니다. 왜냐하면 제가 이 설정을item-value="key"와 같은 정도로item-text="key"텍스트는 원하는 문자열로 맞는데 값이 왜 안 나오죠?

<v-flex
  v-for="key in inputsNames"
  v-if="key !== 'id'"
  :key="key"
  xs12
>
  <v-combobox
    v-model="editForm[key]"
    :item-text="key"
    :label="key"
    :loading="loading"
    :search-input.sync="inputSearch[key]"
    :items="searchOptions"
    :item-value="key"
    cache-items
    clearable
    prepend-icon="filter_list"
  />
</v-flex>

예를 들어 다음과 같습니다.를 채우다x, yautocomplete 필드가 있고 다른 필드는 수동으로 다음 오류 메시지가 반환됩니다.

** 배열에서 문자열로 변환(SQL: 삽입 위치)table(w,x,y,z)의 값(테스트, 5, 4, 1)*

이 경우5, 4,두 줄이었어야 했어요

갱신:

아직 해결되지 않았습니다만, 실제로 아이템 오브젝트 전체를 POST에 송신하고 있는 것을 알았습니다.

업데이트 2019: 이 문제를 다시 조사하여 마침내 답을 찾았습니다.관련성이 있습니다.return-object기본적으로는 명백한 진실인 속성입니다.디세블로 하면,v-combobox기대했던 대로 작동합니다.

<v-combobox
    :item-text="(obj) => (obj)[key])"
    :item-value="(obj) => (obj)[key]"
    v-model="editForm[key]"
    :search-input.sync="editForm[key]"
    :items="searchOptions"
    :return-object="false"
>

오리지널 솔루션:앞으로 콤보박스를 복잡하게 사용할 수 있는 분들을 위해 이 문제를 해결했습니다.이상하게도 표준이:item-value여기서처럼 멀티콤보박스 셋업에서는 프로펠러가 동작하지 않습니다.이유는 설명할 수 없어요.제가 찾은 솔루션은 키와 커스텀 매핑을 제공하는 것입니다.:items다음과 같은 소품:

<v-flex
    v-for="key in columns"
    v-if="key !== 'id'"
    :key="key"
    xs12
>
    <v-combobox
        :item-text="key"
        v-model="editForm[key]"
        :search-input.sync="inputSearch[key]"
        :items="searchOptions.map((obj) => (obj)[key])"
    />
</v-flex>

이것에 의해, 다수의 콤보 박스를 생성해, 같은 스크립트를 사용해 모든 콤보 박스를 취득할 수 있습니다.또, 의도한 대로 독립적으로 기능합니다.

언급URL : https://stackoverflow.com/questions/52833496/vuetify-combobox-not-returning-id-instead-of-value

반응형