Tut*_*een 6 javascript css vue.js material-design vuetify.js
我已经在Element UI中看到了一个用于管理项目数量的组件,它在这里:
https://element.eleme.io/#/zh-CN/component/input-number
我想在Vuetify中使用类似的东西,但是在Material Design中找不到相似的组件甚至样式示例。最好的方法是什么?
小智 28
在vuetify.js v2.2.22中转换<v-text-field>你需要写的数字v-model.number
<v-text-field
v-model.number="foo"
label="Number"
append-outer-icon="add"
@click:append-outer="increment"
prepend-icon="remove"
@click:prepend="decrement">
</v-text-field>
Run Code Online (Sandbox Code Playgroud)
type="number"被删除
Dig*_*ter 10
You could just make your own:
new Vue({
el: '#app',
data () {
return {
foo: 0
}
},
methods: {
increment () {
this.foo = parseInt(this.foo,10) + 1
},
decrement () {
this.foo = parseInt(this.foo,10) - 1
}
}
})Run Code Online (Sandbox Code Playgroud)
<link href='https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons' rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/vuetify/dist/vuetify.min.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify/dist/vuetify.js"></script>
<div id="app">
<v-app>
<v-content>
<v-container>
<v-text-field v-model="foo" type="number" label="Number" append-outer-icon="add" @click:append-outer="increment" prepend-icon="remove" @click:prepend="decrement"></v-text-field>
</v-container>
</v-content>
</v-app>
</div>Run Code Online (Sandbox Code Playgroud)
小智 10
数字输入的一些概念在这里混淆了。
我看不到type="number"在 2.2.22 https://github.com/vuetifyjs/vuetify/compare/v2.2.21...v2.2.22 中被删除我也看到它至少在 2.3 中被正确呈现。 10
属性 type="number" 的输入字段将根据浏览器、操作系统和区域设置进行不同的处理(例如,我仍然可以在 FF 但不是 Chrome 中输入自由文本)。通常,智能手机上的键盘布局会发生变化。
v-model.number 纯粹是 Vue 的指令。如您所见,在内部,Vue 只是尝试使用 parseFloat 解析输入并在成功时使用它 - 否则它将是文本并在 Vue/JS 中作为字符串处理。https://vuejs.org/v2/guide/forms.html#number
就在这里:
<v-text-field
v-model="numberValue"
hide-details
single-line
type="number"
/>
Run Code Online (Sandbox Code Playgroud)
查看滑块组件文档以获取可用示例。