gpt4 book ai didi

javascript - Vue Modal 在 foreach 循环中与 Laravel 5.2

转载 作者:行者123 更新时间:2023-12-02 22:33:20 25 4
gpt4 key购买 nike

我有一个带有 foreach 循环的 Laravel Blade,成功构建了一个包含数据的表,每一行都有一个触发模式的链接。我现在的问题是,当我单击链接时,它会在每一行上触发一个模式,我希望它特定于单击的行并显示其中该行的信息。这是我现在拥有的:

@section('content')

<div id="app">
<table class="uk-table uk-table-hover">
<thead id="table-header">
<tr>
<th> Number</th>
<th> Name</th>
<th> Updated</th>
</tr>
</thead>
<tbody>
@foreach($results as $result)
<tr class="" id="">
<td>
<a id="show-modal" @click="showModal = true">{{$result['number']}}</a>
<modal v-if="showModal" @close="showModal = false">
</td>
<td>
{{$result['name']}}
</td>
<td>
{{$result['updated']}}
</td>
</tr>
@endforeach
</tbody>
</table>


<!-- Modals -->



<!-- End container -->
</div>
@endsection


@section('loadjs')
@include('js.datatables')

<script type="text/javascript">
Vue.component('modal',{
template: '#modal-template'
})

new Vue({
el:'#app',
data: {
showModal: false
}
})
</script>

<!-- Modals -->
<script type="text/x-template" id="modal-template">
<transition name="modal">
<div class="modal-mask">
<div class="modal-wrapper">
<div class="modal-container">

<div class="modal-header">
<slot name="header">
default header
</slot>
</div>

<div class="modal-body">
<slot name="body">
default body
</slot>
</div>

<div class="modal-footer">
<slot name="footer">
default footer
<button class="modal-default-button" @click="$emit('close')">
OK
</button>
</slot>
</div>
</div>
</div>
</div>
</transition>
</script>

@endsection

为了使模式对应于单击的行,我到底需要更改什么?

最佳答案

您可以轻松地做到这一点,只需在 foreach 循环中获取 $results 数组的键并按如下方式使用它 -

@section('content')

<div id="app">
<table class="uk-table uk-table-hover">
<thead id="table-header">
<tr>
<th> Number</th>
<th> Name</th>
<th> Updated</th>
</tr>
</thead>
<tbody>
@foreach($results as $k => $result)
<tr class="" id="">
<td>
<a id="show-modal" @click="showModal = {{$k}}">{{$result['number']}}</a>
<modal v-if="showModal==={{$k}}" @close="showModal = false">
</td>
<td>
{{$result['name']}}
</td>
<td>
{{$result['updated']}}
</td>
</tr>
@endforeach
</tbody>
</table>


<!-- End container -->
</div>
@endsection

....

<script type="text/javascript">
Vue.component('modal',{
template: '#modal-template'
})

new Vue({
el:'#app',
data: {
showModal: false
}
})
</script>

@endsection

关于javascript - Vue Modal 在 foreach 循环中与 Laravel 5.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58821176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com