I believe you are doing everything right. However, the value can't get updated unless you bind the model (using v-model="filter.name") instead of doing :value.
Here is what I did:
HTML
<el-input
class="small"
controls-position="right"
:value="someValue"
@input.native="someFunction">
</el-input>
Script
<script>
export default {
name: "CustomizeSmtCampaign",
data: function () {
return {
someValue: 'test'
}
},
methods: {
someFunction: function (val = '1') {
console.log('Event Value', val.target.value, ' some value: ', this.blankValue);
}
}
}
</script>
Output
This is the output I got on console as I typed
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
So your code must be working.
What is wrong, then?
What's wrong is that you are binding to the value, not to the model.
When I changed the :value="someValue" to v-model="someValue", the following was the output:
v-model Output
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
Summary
Always bind the value using v-model (not using :value). That's how Vue achieves the reactiveness!
Hope that helped.