一个小需求:el-input只能输入整数 引起的思考
首先是
<el-input type="number" v-model="number" @change="onChange"></el-input>
// 直接change事件对number取整即可
1
2
2
或者
<input type="number" :value="number" @change="handleInput" />
<script>
handleInput(e) {
// this.number = Number(e.target.value).toFixed(0)
this.number = Math.floor(e.target.value)
// Number.toFixed 是将数字转换为字符串
}
</script>
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
咋一看,上面的即是vue的v-model,v-model是个语法糖
<el-input type="number" :value="number" @input="onInput"></el-input>
<script>
onInput(value) {
console.log("onInput", value)
this.number = Math.floor(value) || ''
},
</script>
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# inheritAttrs的作用
inheritAttrs默认true,默认情况下,父组件传递的,但没有被子组件解析为 props 的 attributes,会被作为子组件根节点(一般是一个div元素)的属性。
如果你不想其作为根节点属性,而是希望手动绑定给内部的元素。可以设置inheritAttrs: false
关联👉【vue2 禁用 Attribute 继承 (opens new window)】【vue3 inheritAttrs (opens new window)】