Livewire联动下拉框问题:用户编辑页子分区下拉异常
问题:Livewire联动下拉框子分区加载异常
我有三个数据库表Users、Divisions和Subdivisions,其中Division与Subdivisions为一对多关联。每个User必须包含division_id,subdivision_id为可选字段(允许为空)。
在用户更新页面,我设置了两个联动下拉选择框:「选择分区」和「选择子分区」,数据从对应数据库表获取。分区下拉框功能正常,但子分区下拉框仅在组件挂载时加载所有Subdivisions数据才可正常工作。若注释掉挂载时加载所有子分区的代码,子分区下拉框将无法使用;但保留该代码时,用户会看到所有子分区,而非当前用户所属分区下的子分区。
当前有效代码示例
public function updated() { $this->subdivisions = Subdivision::query() ->select("id", "name") ->where('division_id', '=', $this->division_id) ->get(); } public function mount() { $this->divisions = Division::all(); $this->subdivisions = Subdivision::all(); }
注释后失效的代码示例
public function updated() { $this->subdivisions = Subdivision::query() ->select("id", "name") ->where('division_id', '=', $this->division_id) ->get(); } public function mount() { $this->divisions = Division::all(); //$this->subdivisions = Subdivision::all(); }
测试步骤
- 执行
git clone https://github.com/OlyaK95/livewire-dependent-dropdown.git - 执行
cd livewire-dependent-dropdown - 执行
composer install - 执行
cp .env.example .env - 执行
php artisan key:generate - 执行
npm install && npm run dev - 执行
php artisan migrate:fresh --seed - 执行
php artisan serve - 访问
localhost:8000查看效果
内容的提问来源于stack exchange,提问作者SET
相关产品推荐
相关产品推荐

