在laravel-livewire alpineJS应用中,单击选定的子项

时间:2020-08-07 06:41:02

标签: laravel-livewire alpine.js

在laravel 7 / livewire 1.3 / turbolinks:5.2/alpine@v2应用中,我进行状态的选择输入,并在选定的状态下进行输入 显示相关区域列表。当用户单击区域之一时,必须打开相关区域,然后搜索实现方法。 在组件中:

TRACE

在resources / views / livewire / states-with-regions.blade.php中:

<?php

namespace App\Http\Livewire;

use App\Hostel;
use App\Region;
use App\State;
use Facade\Ignition\SolutionProviders\IncorrectValetDbCredentialsSolutionProvider;
use Livewire\Component;

class StatesWithRegions extends Component
{
    public function render()
    {
        ...
        return view('livewire.states-with-regions', [
            'hostels_count' => $hostels_count,
            'statesList' => $statesList,
            'regionsListByStateIdArray' => $regionsListByStateIdArray,
        ]);
    } // public function render()


    public function hostelsByRegion($selected_state_code, $selected_regions_slug ) {
        \Log::info( '-1 hostelsByRegion selected_state_code::' . print_r(  $selected_state_code, true  ) );
        \Log::info( '-1 hostelsByRegion $selected_regions_slug::' . print_r(  $selected_regions_slug, true  ) );

        return view('livewire.hostels_by_region', [
//            ...
        ]);
    }
}

对于区域选择,我使用state.id,但是对于状态,我需要使用state.code 在上面的代码中,我将selected_state_id用作选定的状态ID,但我也需要

  1. 用选定的状态码填充selected_state_code。我该怎么办?

  2. 我需要移动到宿舍列表,单击上面代码中的hostelsByRegion(链接。现在它不起作用了。 在浏览器中,我看到:https://prnt.sc/tvin91 看来那是无效的方法。我该怎么办?

  3. 由于我需要移至hostsByRegion动作,因此最好将其作为包含模板的1个组件使用,或者我可以使用多个 1个StatesWithRegions组件中使用tremplate的方法?

谢谢!

0 个答案:

没有答案