Vue.js VueJs+;元素ui:如何从输入获取本机事件
我试图从Vue.js VueJs+;元素ui:如何从输入获取本机事件,vue.js,user-input,element-ui,Vue.js,User Input,Element Ui,我试图从el-input标记的@input.native属性中获取事件。 以下是模板代码: <el-input :value="filter.name" @input.native="updateFilter"></el-input> 我的过滤器。名称已用值“aaa”初始化,然后我在字段中键入“b”。出于某种原因,日志上的输出是“aaa”,但我需要“aaab”值 另外,我不能使用@input,因为它只返回值,我还需要其他属性 是否仍有获取有效本机输入事件的方法 @更新:
el-input
标记的@input.native属性中获取事件。
以下是模板代码:
<el-input :value="filter.name" @input.native="updateFilter"></el-input>
我的过滤器。名称已用值“aaa”初始化,然后我在字段中键入“b”。出于某种原因,日志上的输出是“aaa”,但我需要“aaab”值
另外,我不能使用@input,因为它只返回值,我还需要其他属性
是否仍有获取有效本机输入事件的方法
@更新:我正在使用Vuex,因此v-model不是一个选项我相信你做的一切都是对的。但是,除非绑定模型(使用
v-model=“filter.name”
)而不是执行:value
,否则无法更新该值
以下是我所做的:
HTML
剧本
导出默认值{
名称:“CustomizestCompaign”,
数据:函数(){
返回{
someValue:“测试”
}
},
方法:{
someFunction:function(val='1'){
log('Event Value',val.target.Value',some Value:',this.blankValue);
}
}
}
输出
这是我在控制台上输入时得到的输出
Event Value teste some value: test
Event Value tester some value: test
Event Value testere some value: test
Event Value testerer some value: test
Event Value testerere some value: test
所以你的代码一定在工作 那怎么了? 问题是您绑定的是
值
,而不是模型
当我将:value=“someValue”
更改为v-model=“someValue”
时,输出如下:
v型输出
总结 始终使用
v-model
(不使用:value
)绑定值。这就是Vue实现反应性的方式
希望这有帮助 您可以使用计算方法。取一个临时变量,将该变量作为v模型添加到输入中。每当值发生变化时,将该变量指定给vuex存储变量(除了字符串串联外,什么都没有)。您可以在计算机中使用setter和getter 下面的链接可能会有所帮助
让我们用Vuex制作v-model,它非常简单:
导出默认值:{
...
计算:{
过滤器:{
get(){返回这个。$store.state.filter;};
set(val){this.$store.commit(“setFilter”,val);
}
}
...
}
然后将v-model添加到过滤器上会很神奇。此链接通常可能会有帮助。您可以使用v-model,但如果您想传递事件,则上面的链接可能会有帮助。我不想添加太多细节,但我在这里使用Vuex,因此v-model不是一个选项。您是否浏览了我提到的上面的链接,该链接告诉您如何使用n来侦听事件Tive input?我尝试了链接,但它根本不起作用,或者我应该说,它只返回值而不是事件。我很确定您的解决方案肯定与其他UI框架一起工作,但这个愚蠢的元素UI是另一回事。我在这里使用Vuex,因此与
v-model
绑定不是一个选项为什么不可以?您可以这样做data:function(){return{someValue:this.$store.getters.someValue}}
在组件中,您需要该值。
Event Value teste some value: test
Event Value tester some value: test
Event Value testere some value: test
Event Value testerer some value: test
Event Value testerere some value: test
Event Value teste some value: teste
Event Value tester some value: tester
Event Value testere some value: testere
Event Value testeree some value: testeree
Event Value testereer some value: testereer
Event Value testereere some value: testereere