simon-chege / livewire-range-slider
noUiSlider 范围滑块的一个 Tall Stack 包装器
dev-main
2023-12-13 15:42 UTC
Requires
- php: ^7.4|^8.0|^8.1
Requires (Dev)
- livewire/livewire: ^2.8
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.5
This package is not auto-updated.
Last update: 2024-09-19 17:42:01 UTC
README
一个简单的 noUiSlider blade 组件,适用于您的 Livewire 组件。
安装
要开始使用,请将包要求添加到您的项目 composer.json 中。我的版本
composer require simon-chege/livewire-range-slider
原始
composer require jantinnerezo/livewire-range-slider
接下来,在 @livewireScripts
之后将脚本组件添加到您的模板中。
<html> <body> <!-- @livewireScripts --> <x-livewire-range-slider::scripts /> </body> </html>
需求
此包旨在与 Livewire 组件一起使用。请确保您仅在 Livewire 项目中使用它。
-
PHP 7.4 或更高版本
-
Laravel 8 和 9
-
noUiSlider - 已包含在包的捆绑脚本中。
用法
假设您在 livewire 组件中拥有这些属性。
public $options = [ 'start' => [ 10, 20 ], 'range' => [ 'min' => [1], 'max' => [100] ], 'connect' => true, 'behaviour' => 'tap-drag', 'tooltips' => true, 'pips' => [ 'mode' => 'steps', 'stepped' => true, 'density' => 4 ] ]; public $values;
$options
属性是传递给组件的 noUiSlider 选项,有关更多详细信息,请查看 noUiSlider - JavaScript Range Slider | Refreshless.com。
$values
属性是范围滑块值的模型。
Livewire 的默认 wire:model
属性
<x-range-slider :options="$options" wire:model="values" />
延迟
在不需要实时更新范围滑块的情况下,您可以使用 .defer
修饰符。
<x-range-slider :options="$options" wire:model.defer="values" />
多个属性
为每个手柄定位属性也默认有效,只需简单地将属性以逗号分隔添加即可。
public $options = [ 'start' => [ 10, 20 ], 'range' => [ 'min' => [1], 'max' => [100] ], 'connect' => true, 'behaviour' => 'tap-drag', 'tooltips' => true, 'pips' => [ 'mode' => 'steps', 'stepped' => true, 'density' => 4 ] ]; public $range = [ 'min' => 10, // Targets handle 1 value 'max' => 100 // Targets handle 2 value ];
<x-range-slider :options="$options" wire:model="range.min,range.max" />