我有一个新项目,我想在Vue组件中加载Laravel视图中的数组。
对于testint,我有相同的html元素,SELECT,通过两种方式创建: Laravel和Vue组件。
html代码:
<!-- Laravel SELECT Element -->
<div class="form-group">
<label for="customer">Client</label>
<select
name="customer"
class="form-control @error('customer')
is-invalid
@enderror"
id="customer">
<option value="">-- Seleciona -</option>
@foreach($customers as $customer)
<option
value="{{ $customer->id }}"
{{ old('customer') == $customer->id ? 'selected' : '' }}>{{ $customer->customer_name }}</option>
@endforeach
</select>
@error('customer')
<span class="invalid-feedback d-block" role="alert">
<strong>{{$message}}</strong>
</span>
@enderror
</div>
<!-- End Laravel SELECT Element -->
<!-- Vue Component SELECT Element -->
<create-task-jobs v-bind:customers={{ json_encode($customers) }}>
</create-task-jobs>
<!-- End Vue Component SELECT Element -->Vue组件代码:
<template>
<div>
<form @submit.prevent="agregar">
<h3>Afegir Tasques</h3>
<b-form-group id="input-group-3" label="Client" label-for="input-3">
<b-form-select
id="input-3"
v-model="form.customer"
:options="customers_load"
required
></b-form-select>
</b-form-group>
<button class="btn btn-primary" type="submit">Agregar</button>
</form>
</div>
</template>
<script>
export default {
props: {
customers: Array
},
data() {
return {
form: {
customer: null,
},
customers_load: [{ text: 'Select One', value: null },...this.customers]
}
}
}
</script>Laravel中的SELECT运行良好,正确显示customer_name和id,但问题出在Vue组件中SELECT的值为空:

进入组件的数组为空,我不确定发生了什么。
更新:
数组对象dd:

谢谢!
发布于 2021-01-19 23:17:22
试一下这个,只要稍加改动,
<create-task-jobs v-bind:customers={{ json_encode($customers->pluck('customer_name', 'id')) }}></create-task-jobs>因为它不会生成键值对。您将通过dd $customers来理解它
https://stackoverflow.com/questions/65793112
复制相似问题