dashed / livewire-range-slider
noUiSlider 范围滑动条的高级栈包装
v1.0.1
2024-03-15 10:32 UTC
Requires
- php: ^8.0
Requires (Dev)
- livewire/livewire: ^3.1
- orchestra/testbench: ^8.14
- phpunit/phpunit: ^10.4
README
一个简单的noUiSlider blade 组件,用于您的 Livewire 组件。
安装
要开始使用,请将包要求添加到您的项目的 composer.json 中
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" />