选择框的组件在 laravel 中的视图格式中不起作用
Posted
技术标签:
【中文标题】选择框的组件在 laravel 中的视图格式中不起作用【英文标题】:Component of select box not working in view format in laravel 【发布时间】:2018-11-18 02:59:41 【问题描述】:我在视图组件的 laravel 中有逻辑错误。我创建了一个选择框,对于它的值,我从数据库表中获取它。当我编译代码时,只显示表的最后一个值。 这里我附上了我的组件文件和查看文件。
我的视图文件:newuphist.blade.php
@if(isset($data))
<div class="field_wrapper">
@component('compnew')
@slot('select')
select
@foreach($data as $item)
@slot('opt')
$item->diseaseName
@endslot
@endforeach
@endslot
@slot('txtbx')
MM
@endslot
@endcomponent
@endif
和我的组件文件:compnew.blade.php
<select name=" $select " value=" $select " >
<option name="$opt" value="$opt">$opt</option>
</select>
<input type="text" name="$txtbx" value="$txtbx">
请帮我看看如何在选择框中显示所有值。 提前谢谢你。
【问题讨论】:
【参考方案1】:了解了 Laravel 视图基础知识后,我找到了答案。
@if(isset($data))
<div class="field_wrapper">
@component('compnew',['select'=>'select','txtbx'=>'MM'])
@slot('opt')
@foreach($data as $item)
<option value="$item->diseaseName">
$item->diseaseName
</option>
@endforeach
@endslot
@endcomponent
@endif
我的组件文件:
<select name="!empty($select) ? $select : '' " value="!empty($select) ? $select : '' " >
!empty($opt) ? $opt : ''
</select>
<input type="text" name="!empty($txtbx) ? $txtbx : '' " value="!empty($txtbx) ? $txtbx : '' ">
【讨论】:
【参考方案2】:你应该在 foreach 中传递组件,然后你会尝试它。
@if(isset($data))
<div class="field_wrapper">
@foreach($data as $item)
@component('compnew')
@slot('select')
select
@slot('opt')
$item->diseaseName
@endslot
@endslot
@slot('txtbx')
MM
@endslot
@endcomponent
@endforeach
@endif
【讨论】:
它不会在选择框中添加值。相反,它会创建一定数量的选择框。感谢您的回答。以上是关于选择框的组件在 laravel 中的视图格式中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
空标签在 PhpStorm (Laravel 7) 中的某些浏览器警告中不起作用