首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带实心线的数位机如何求值

带实心线的数位机如何求值
EN

Stack Overflow用户
提问于 2022-05-06 14:16:41
回答 2查看 166关注 0票数 0

我怎样才能在直播线中得到nouislider的值?这样我就可以比较最低和最高价格了。我不知道我怎么能得到这些价值。它有两个处理,一分钟和最高价格。

代码语言:javascript
复制
         <div wire:ignore id="slider-margin"></div>
                        <div class="d-flex">

                            <div wire:model="min_price" class="me-5" id="slider-margin-value-min" aria-valuenow="min_price"></div>
                            <div wire:model="max_price" id="slider-margin-value-max" aria-valuemax="max_price"></div>

                        </div>
代码语言:javascript
复制
class Shop extends Component
{
use WithPagination;
protected $paginationTheme = 'bootstrap';
public $min_price;
public $max_price;

public function render()
    {
 $this->products = Product::query()
 ->wherebetween('price',[$this->min_price,$this->max_price])->paginate(9);

        return view('livewire.shop',[
            'products'=>$this->products
        ]);
    }
}
EN

回答 2

Stack Overflow用户

发布于 2022-05-07 06:45:06

试试下面的代码:

代码语言:javascript
复制
<div wire:ignore id="slider-margin"></div>
<div class="d-flex">

    <div wire:click="setMin({{ $min_price }})" class="me-5" id="slider-margin-value-min" aria-valuenow="min_price"></div>
    <div wire:click="setMax({{ $max_price }})" id="slider-margin-value-max" aria-valuemax="max_price"></div>
</div>

以及:

代码语言:javascript
复制
class Shop extends Component
{
    use WithPagination;
    protected $paginationTheme = 'bootstrap';
    public $min_price;
    public $max_price;

    public function setMax($max_price)
    {
        $this->max_price= $max_price;
    }

    public function setMin($min_price)
    {
        $this->min_price = $min_price;
    }

    public function mount()
    {
        $this->products = Product::query()
            ->wherebetween('price',[$this->min_price,$this->max_price])->paginate(9);
    }
}
票数 0
EN

Stack Overflow用户

发布于 2022-05-11 05:41:20

div不是输入,所以wire:model不会对它做任何事情。noUiSlider在页面加载后生成HTML,因此为了能够将其用于Livewire中的变量,您必须使用JavaScript。您可以侦听事件并使用全局Livewire JS对象对组件进行更改。

因此,有一个例子可以说明这是如何工作的:

代码语言:javascript
复制
let slider = document.getElementById('slider-margin');

slider.noUiSlider.on('update', function (values) {
    Livewire.emitTo('shop', 'sliderUpdated', values);
});

然后,在组件中,可以使用传递的值执行一些操作:

代码语言:javascript
复制
function sliderUpdated(array $values) 
{
   $this->min_price = \Illuminate\Support\Arr::first($values);
}

确保对事件文档进行良好的阅读,因为我不能100%肯定上面的代码会立即运行,但我认为这至少会让你朝着正确的方向前进!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72142963

复制
相关文章

相似问题

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