首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复选框和图标在搜索时消失

复选框和图标在搜索时消失
EN

Stack Overflow用户
提问于 2021-06-02 19:22:37
回答 1查看 82关注 0票数 0

我使用的是livewire组件,但当开始在搜索输入字段中键入内容时,组件中的复选框和图标将消失,并且只有在刷新页面后它们才会重新出现。这种行为的原因可能是什么?

刀片视图

代码语言:javascript
复制
<div>


    <div class="row">
        <div class="col-md-12 grid-margin stretch-card">
                <div class="card">
                    <div class="card-header">
                        <div class="d-flex justify-content-between align-items-center flex-wrap grid-margin">
                            <div>
                                <h4 class="mb-3 mb-md-0">User Roles</h4>
                            </div>
                            <div class="d-flex align-items-center flex-wrap text-nowrap">
                                <div class="form-inline">
                                    <div class="input-group mr-2 mb-2 mb-md-0 d-md-non d-xl-flex">
                                        <input type="text" wire:model="search" class="form-control" placeholder="Search role...">
                                    </div>
                                    <div class="input-group mr-2 mb-2 mb-md-0 mt-3 d-md-non d-xl-flex">
                                        <select wire:model="sortAsc" class="form-control form-control-s mb-3">
                                            <option value="1">Ascending</option>
                                            <option value="0">Descending</option>
                                        </select>
                                    </div>
                                    <div class="input-group mr-2 mb-2 mb-md-0 mt-3 d-md-non d-xl-flex">
                                        <select wire:model="perPage" class="form-control form-control-s mb-3">
                                            <option value="5">5</option>
                                            <option value="10">10</option>
                                            <option value="15">15</option>
                                        </select>
                                    </div>
                                </div>

                                <a href="{{ route('create-role') }}" class="btn btn-success btn-icon-text mr-2 mb-2 mb-md-0">
                                    <i class="btn-icon-prepend" data-feather="plus"></i>
                                    Add Role
                                </a>

                                <button wire:click="deleteRoles" type="button" class="btn btn-danger btn-icon-text mb-2 mb-md-0">
                                    <i class="btn-icon-prepend" data-feather="trash-2"></i>
                                    Delete Role
                                </button>
                            </div>
                        </div>
                    </div>
                    <div class="card-body">
                        @if (count($roles) > 0)
                            <div class="table-responsive">
                                <table id="dataTableExample" class="table">
                                    <thead>
                                        <tr>
                                            <th></th>
                                            <th>#</th>
                                            <th>Display Name</th>
                                            <th>Description</th>
                                            <th>Created</th>
                                            <th>Actions</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        @foreach ($roles as $role)
                                        <tr wire:key="{{ $role->name }}">
                                            <td>
                                                <div class="form-check">
                                                    <label class="form-check-label">
                                                      <input type="checkbox" wire:model="selectedRoles.{{ $role->id }}" class="form-check-input">
                                                    </label>
                                                </div>
                                            </td>
                                            <td>{{ $role->id }}</td>
                                            <td>{{ $role->display_name }}</td>
                                            <td>{{ $role->description }}</td>
                                            <td>{{ $role->created_at->diffForHumans() }}</td>
                                            <td>
                                                <a href="{{ route('edit-role', $role->name) }}" class="btn btn-primary btn-icon-text mr-2 mb-2 mb-md-0">
                                                    <i class="btn-icon-prepend" data-feather="edit-2"></i>
                                                    Edit
                                                </a>
                                            </td>
                                        </tr>
                                        @endforeach
                                    </tbody>
                                </table>
                                <div>{{ $roles->links() }}</div>
                            </div>
                        @else
                            <p>No user roles found.</p>
                        @endif
                    </div>
                </div>

        </div>
    </div>
</div>

对应的livewire组件

代码语言:javascript
复制
<?php

namespace App\Http\Livewire\Roles;

use Livewire\Component;
use App\Models\Role;
use Livewire\WithPagination;

class Index extends Component
{
    use WithPagination;
    protected $paginationTheme = 'bootstrap';
    public $selectedRoles = [];

    public $search = '';
    public $perPage = 10;
    public $sortField = 'id';
    public $sortAsc = true;

    public function render()
    {
        return view('livewire.roles.index', [
            'roles' => Role::search($this->search)
            ->orderBy($this->sortField, $this->sortAsc ? 'asc' : 'desc')
            ->simplePaginate($this->perPage)
        ])
        ->extends('layout.master');
    }

    public function createRole(){
        return view('livewire.roles.create')
        ->extends('layout.master');
    }

    public function deleteRoles(){
        Role::destroy($this->selectedRoles);
    }

}

导致此问题的原因可能是什么?

EN

回答 1

Stack Overflow用户

发布于 2021-06-03 21:21:56

尝试更改这一行,实际上我将其用作livewire文档

代码语言:javascript
复制
'roles' => Role::where('someColumn','like','%'.$this->search.'%')
                 orWhere('anotherColumn','like','%'.$this->searchTerm.'%')
            ->orderBy($this->sortField, $this->sortAsc ? 'asc' : 'desc')
            ->paginate($this->perPage)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67804160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档