Множественный выбор в форме редактирования - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть следующая форма:

enter image description here

Это форма редактирования.

Как видите, у меня есть множественный выбор.Мне нужно привязать значения с сервера для выбора.Вот структура моих объектов с сервера.1) Все элементы для множественного выбора:

enter image description here

2) Отдельные объекты, которые я хочу видеть выделенными.Как вы можете видеть, есть дополнительное поле под названием «pivot».

enter image description here

В результате я хотел бы видеть следующее при открытии моегоФорма: enter image description here

Я пробовал что-то подобное, но безуспешно:

<div class="form-group">
<label for="bk">Связанные бк</label>
<select class="form-control form-control-sm" id="bk" v-model="formFields.applicationBk" multiple>
    <option v-for="bk in allBk" v-if="applicationBk.find(x => x.id === bk.id) 'selected'" >
        {{ bk.name }}
    </option>
</select>

Вот полный код JS:

<script>
import { EventBus } from '../../app';

export default {
    name: "ApplicationEdit",
    props: ['applicationId', 'name', 'offer', 'bundleId', 'isBlackMode', 'applicationBk', 'allBk'],
    mounted: function(){
        console.log(this.applicationBk)

    },
    methods:{
        submit: function (e) {
            window.axios.post('/application/edit/' + this.applicationId, this.formFields)
                .then(res => {
                    console.log('Сохранил!');
                    $('#applicationEdit' + this.applicationId).modal('hide');

                    EventBus.$emit('reloadApplicationsTable');
                }).catch(err => {
                if(err.response.status === 422){
                    this.errors = err.response.data.errors || [];
                }
                //console.error('Ошибка сохранения приложения. Описание: ');
                console.error(err)
            });
        }
    },
    data(){
        return {
            formFields: {
                applicationId: this.applicationId,
                applicationBk: this.applicationBk,
                name: this.name,
                offer: this.offer,
                bundle_id: this.bundleId,
                giraffe: this.isBlackMode,
                bk: this.applicationBk,
            },
            errors: []
        }
    }
}

1 Ответ

0 голосов
/ 20 декабря 2018

Вы можете рассмотреть возможность использования вашего цикла, как у вас, но с использованием v-модели для массива выбранных значений.Вот пример vue этого: https://vuejs.org/v2/guide/forms.html#Select

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...