使用 laravel vuejs 创建 select 下拉列表

Create select dropdown using laravel vuejs

我想使用 laravel vuejs 创建 select 下拉列表,所以在控制器中我创建了数据绑定以在 vue

上的视图中显示
public function get_data_dropdown()
{
    $collection = IndukBelanja::get(['kode_rekening','uraian','id']);
    foreach ($collection as $item) {
        $inven[$item->id]  = $item->kode_rekening.'-'.$item->uraian;
    }
    return response()->json($inven ,200);
}

和这条路线

Route::get('get_data_dropdown', 'UserController@get_data_dropdown')->name('get_data_dropdown');

所以在 vue 视图上,我为此绑定创建了这个 select,如下所示:

   data(){
        return{
            inven:[],                   
        }
    },

     created(){
            axios.get('/users/get_data_dropdown').then((res)=>{
                this.inven= res.data
                //  console.log(res.data)
                }).catch((err) => {
                console.log(err)
            });

     },

然后在视图表单上我创建了 select 这样的

<select  v-model="inven" id="koderek">
    <option v-for="invent in inven" v-bind:value="invent.id">
        {{invent}}
    </option>
</select>  

但是这个 select 不能显示任何东西并且这个控制台日志没有错误,有人可以更正我的代码吗?

您的服务器端代码似乎返回一个 JSON 对象,而不是数组。像

{
  "itemId": "kode_rekening-uraian",
  // etc
}

要在 Vue 中使用它,首先声明 inven 属性 以匹配对象数据类型

data: () => ({
  inven: {}
})

然后在您的模板中

<option v-for="(invent, id) in inven" :key="id" :value="id">
  {{ invent }}
</option>

v-for with an Object