【问题标题】:Update Alpinejs x-data when input has a value on page load or user change当输入在页面加载或用户更改时具有值时更新 Alpinejs x-data
【发布时间】:2021-05-17 22:32:12
【问题描述】:

我有点失落。如果文本输入有值,我需要在标签中添加一个类,无论是在页面加载(如果输入是预填充的)还是当用户输入一个值时。如果用户从输入中删除文本,我需要删除这些类。

.has-value {color:red}
<script src="https://cdnjs.cloudflare.com/ajax/libs/alpinejs/2.3.0/alpine.js"></script>

<form x-data='{value:false}'>
  <label for='example' :class='{"has-value": value }'>Label </label>
  <input id='example' name='example' type='text' x-on:change='value = true' />
</form>

【问题讨论】:

    标签: javascript tailwind-css alpine.js


    【解决方案1】:

    我们可以使用alpinejs 中的x-model 属性将输入文本绑定到alpine 组件属性。现在我们可以通过检查输入的长度来检查输入是否有值。

    
    <form x-data='{value: ""}'>
        <label for='example' :class='{"has-value": value.length > 0 }'>Label </label>
        <input id='example' name='example' type='text' x-model="value" />
    </form>
    
    

    如果要给输入设置一个初始值,可以在alpinejs组件中进行,如下所示

    
    <form x-data='{value: "initial-value"}'>
        <label for='example' :class='{"has-value": value.length > 0 }'>Label </label>
        <input id='example' name='example' type='text' x-model="value" />
    </form>
    
    

    请注意,我使用了value.length &gt; 0,因为如果字段中有一些输入,则应添加has-value 类。

    【讨论】:

      猜你喜欢
      • 2019-04-02
      • 1970-01-01
      • 2015-03-29
      • 2019-11-30
      • 2020-06-08
      • 1970-01-01
      • 2017-10-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多