- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从我的数据库中获取国家代码并尝试通过 IP 地址获取默认值。它按我想要的方式工作了一秒钟,但我不知道会发生什么,但它会自行刷新并滚动到第一个选项而不是所选选项。
Livewire Controller 组件
use App\Models\CountryCodes;
use Livewire\Component;
use Location;
class TestCountry extends Component
{
public $iso;
public $country_codes;
public $country_code;
public function mount()
{
$iso=Location::get('ip');
$this->iso=$iso->countryCode;
}
public function render()
{
return view('livewire.test-country',[
$this->country_codes = CountryCodes::select('nicename','iso','phonecode')->get()->toArray()
]);
}
}
Livewire Blade 组件
<select wire:model.lazy="country_code" name="country_code" id="country_code" class="form-control" required>
@foreach($country_codes as $country_code)
<option value="{!! $country_code['iso'] !!}"
wire:key="{{$country_code['iso']}}"
{{ $country_code['iso'] == $iso ? 'selected' : ''}}>
{!! $country_code['iso'] !!} +{!! $country_code['phonecode'] !!}
</option>
@endforeach
</select>
此代码确实选择了我的默认选项,但它会更改并自动移动到第一个选项。我在这里做错了什么吗?
最佳答案
我相信发生的事情是,$iso
设置正确,但是 select
绑定(bind)到 $country_code
属性,而不是 $iso
,简单地说,您的检查有效,但由于 $country_code
没有值,当 Livewire 更新状态时,所选选项将丢失。
TLDR:Livewire 正在检查 wire:model
属性中的任何内容,因此必须设置类属性才能使其正常工作。
我会尝试这样的事情:
public function mount()
{
$iso = Location::get('ip');
$this->iso = $iso->countryCode;
// set $country_code to $iso
$this->country_code = $this->iso;
}
我相信 Livewire 会智能地选择状态,所以我认为可以删除 selected
检查:
<select wire:model.lazy="country_code" name="country_code" id="country_code" class="form-control" required>
@foreach($country_codes as $country_code)
<option
value="{!! $country_code['iso'] !!}"
wire:key="{{$country_code['iso']}}"
>
{!! $country_code['iso'] !!} +{!! $country_code['phonecode'] !!}
</option>
@endforeach
</select>
此外,任何使用 {!! 的理由!!
标签而不只是 {{ }}
?
关于Laravel Livewire : Input select, 选择默认选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67835137/
我正在学习如何使用 livewire 和 laravel,我试图通过输入绑定(bind)一些数据 我写了这段代码: home.blade.php: Home @livewireSt
我有一个包含几张卡片的 livewire 概览组件。在这些卡片中有一个 livewire 表单,但是当我将表单包含到概览组件中时,我的整个 livewire 停止工作。 我添加到概览组件文件中的唯一一
如 docs 中所述,您可以在自定义路径中创建组件,这与默认的 views/livewire/ 和 Http/Livewire 不同。为了更好地组织,我创建了子文件夹: $ php artisan m
如 docs 中所述,您可以在自定义路径中创建组件,这与默认的 views/livewire/ 和 Http/Livewire 不同。为了更好地组织,我创建了子文件夹: $ php artisan m
我正在尝试将用户的地理坐标(纬度和经度)发送到 livewire 组件以加载附近的地点。但是我无法发送它,因为它们是 javascript 变量。问题是如何将 javascript 变量发送到 liv
我想做的是从数据库中获取一些数据并将其显示在 Input Value 字段中,但这里的问题是当我使用 wire:model='some_input_name' 值不显示。如果我删除 wire:mode
在我应用新的 livewire V2 编程风格之前,我有一个连接到模型的各个属性的表单。为了触发字段的实时验证,我在组件中使用了这个(例如 name 属性): public function upda
有 3 个 livewire 组件 UserIsExpired、UserIsActive 和 UserIsPending 以及每个组件对应的 3 个按钮。单击按钮时,它应该用其各自的组件替换先前的组件
有 3 个 livewire 组件 UserIsExpired、UserIsActive 和 UserIsPending 以及每个组件对应的 3 个按钮。单击按钮时,它应该用其各自的组件替换先前的组件
I have used Laravel 10 with Livewire 3 and Turbolink.我已经使用Laravel 10与Livewire 3和Turbolink。 When
我有一个带有“存储”方法的 Laravel Controller 。即存储(请求 $request)。 对于 View ,我想嵌入一个 livewire 组件,然后利用 livewire 组件方法中现
在 laravel 7/livewire 1.3/alpinejs 2 项目中,我制作了 crud,当为了添加/编辑,我将 livewire.admin.app-news.form 包含在数据列表中(
我使用的是 laravel 8。 我在 RouteServiceProvider 中定义了 protected 命名空间: protected $namespace = 'App\Http\Contr
我正在使用 Laravel Livewire,这里我有 3 个表格显示在一页上,但问题是分页显示正确但不起作用(URL 更改为 http://127.0.0.1:8000/blogpost?EnPos
我想在更新父组件时刷新子组件,并且只有该组件的子组件应该更新,因为我想在页面的其他地方重用子组件。组件结构如下。UserShow.php class UserShow extends Componen
我可以将数据传递给组件,但在 Alpine js 的模态中,数据为空。 这是类: public $code, $products; public function getData($id)
我有2个livewire组件,第一个仅显示购物车的session变量,第二个只是在购物车中添加项目(一种非常原始的形式,带有sku,标题,价格和数量)。 这两个组件本身都可以正常工作。但是,当我从
我尝试通过 laravel 队列加载多个图像,如下所示: Controller : foreach ($this->imagenes as $pathGaleria) { $image
我想了解 Livewire 组件中的挂载和渲染方法有什么区别,因为我看到过这两种方法都用于定义变量初始状态的示例。例如,当您使用模型中的记录实例化一个变量时,“哪个位置是使用 ORM 语法加载数据的正
我尝试通过 laravel 队列加载多个图像,如下所示: Controller : foreach ($this->imagenes as $pathGaleria) { $image
我是一名优秀的程序员,十分优秀!