【问题标题】:AlpineJs dont update on binded propertyAlpineJs 不会更新绑定属性
【发布时间】:2020-10-25 01:03:56
【问题描述】:

我想在 keydown 上更新一个绑定的(x 模型)属性。

但它根本不起作用。

我这里有什么问题吗?

Link to jsfiddle

<div x-data="app()" class="w-64">
   <input x-ref="textInput" x-model="textInput" x-on:keyup="limitInput($el)" type="text">
</div>


function app() { 
  return {
    textInput: '',
    limitInput($el) {
       this.textinput =  ''
    },
   }
}

【问题讨论】:

    标签: javascript alpine.js


    【解决方案1】:

    您使用maxlength="0"input 的长度限制为0,这样就无法在input 中添加任何内容。
    另外,你想用limitInput 函数做什么?因为在keydown 上调用它会在按下按键更新输入之前调用它,如果你想在之后调用它,请使用keyup

    【讨论】:

    • 嘿保罗-路易斯!这个 maxlength="0" 是我测试过的。我忘了删除它。所以 - 现在我把它清理干净了。我不再使用maxlength 我使用keyup。我想用 limitInput 函数限制输入。所以任何时候用户输入 - 他都不能这样做 - 因为textinput被重置为''。这不起作用。
    • 如果你想阻止用户输入数据,为什么不使用disabled HTML属性来代替呢?比如:&lt;input x-ref="textInput" x-model="textInput" disabled type="text"&gt;,以后如果需要可以去掉再次启用输入
    • 因为这不是我想要实现的真正功能。我用 alpineJs 构建了一个类似 select2 的刀片组件。我实际上想在达到特定限制时禁用输入。所以这只是一个片段,其中有一个功能被分解为不工作的部分。
    • 在达到特定限制(例如字符限制)时禁用输入?还是来自代码中的其他部分?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-08
    • 2016-01-21
    • 2020-09-21
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 2015-06-02
    相关资源
    最近更新 更多