Выбранный вариант лезвия Laravel не работает - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть опция выбора в моем лезвии Laravel, которая позволяет пользователю выбрать один тип отрасли. Моя проблема в том, что если пользователь уже находится на странице подтверждения и нажимает кнопку отмены, выбранная отрасль не выбирается в раскрывающемся меню. Я могу получить его предыдущее значение, но не могу выбрать его в выпадающем меню. Вот что я сделал:

<select name="industry" v-model="industry" v-bind:class="{ error: industryError }">
@foreach(config('const.industry') as $i => $industry)
    <option value="{{ $i }}" @if(old('industry' || $brand['industry']) == $i) selected @endif>{{ $industry }}</option>
    //also done this {{ $brand['industry'] == $i ? 'selected="selected"' : ''  }}
@endforeach
</select>

vue.js file

(function() {
    "use strict";
    new Vue({
    el: '#regist_brand',
    data: {
        industry : null,
        //other data
    },
    methods:{ 
        //my methods
    },
})();

Ответы [ 2 ]

1 голос
/ 25 апреля 2019

Использование old неверно, второй параметр old является значением по умолчанию, если его не существует, поэтому попробуйте следующее:

old('industry', $brand['industry'])

Также убедитесь, что ваш $brand['industry']содержит ключ (id) ранее выбранного элемента.Вы можете распечатать его, чтобы убедиться, что в вашем варианте:

Отладка, как это:

<option value="{{ $i }}" @if(old('industry', $brand['industry']) == $i) selected @endif>{{ $industry . ' - ' . $i . ' - ' . $brand['industry']}}</option>
0 голосов
/ 25 апреля 2019

Спасибо @nakov за вводные данные, я могу решить мою проблему следующим образом:

<select name="industry" v-model="industry" v-bind:class="{ error: industryError }">
@foreach(config('const.industry') as $i => $industry)
    <option value="{{ $i }}">{{ $industry }}</option>
    //also done this {{ $brand['industry'] == $i ? 'selected="selected"' : ''  }}
    @php
        $industry = $brand['industry'];
    @endphp
@endforeach
</select>
<script>
    var industry = "{{ $industry }}";
</script>

vue.js file

(function() {
    "use strict";
    new Vue({
    el: '#regist_brand',
    data: {
        industry : industry,
        //other data
    },
    methods:{ 
        //my methods
    },
})();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...