Vue表單和v-model
Vue表單和v-model
Vue表單
主要是按照Vue的文件,進行CRM操作,文件連結文件連結
介紹一些form表單中的基礎元件用法
- form表單中有哪些基本元件,如:input/textarea/checkbox/radio/select/form
input
//html
<template>
<div id="app">
<input v-model="message" placeholder="edit me">
<p>Message is: {{ message }}</p>
<p>
<button @click="message='xiaobangsky'">set message to xiaobangsky</button>
</p>
</div>
</template>
//js
export default {
name: 'App',
data(){
return {
message:'hi'
}
}
}
textarea
//html
<div id="app">
<textarea v-model="message" placeholder="add multiple lines"></textarea>
<p>Message is: {{ message }}</p>
<p>
<button @click="message='xiaobangsky'">set message to xiaobangsky</button>
</p>
</div>
checkbox
//html
<div id="app">
<input type="checkbox" id="jack" value="Jack" v-model="checkedNames">
<label for="jack">Jack</label>
<input type="checkbox" id="john" value="John" v-model="checkedNames">
<label for="john">John</label>
<input type="checkbox" id="mike" value="Mike" v-model="checkedNames">
<label for="mike">Mike</label>
<br>
<span>Checked names: {{ checkedNames }}</span>
</div>
//js
export default {
name: 'App',
data(){
return {
checkedNames: []
}
}
}
radio
//html
<div id="app">
<input type="radio" id="one" value="One" v-model="picked">
<label for="one">One</label>
<br>
<input type="radio" id="two" value="Two" v-model="picked">
<label for="two">Two</label>
<br>
<span>Picked: {{ picked }}</span>
</div>
//js
export default {
name: 'App',
data(){
return {
picked: ''
}
}
}
select
//html
<div id="app">
<select v-model="selected">
<option disabled value="">請選擇</option>
<option>A</option>
<option>B</option>
<option>C</option>
</select>
<span>Selected: {{ selected }}</span>
</div>
//js
export default {
name: 'App',
data(){
return {
selected: ''
}
}
}
form
//html
<div id="app">
<form @submit.prevent="submit">
<label>
<span>使用者名稱</span>
<input type="text" v-model="user.username"/>
</label>
<label>
<span>密碼</span>
<input type="password" v-model="user.password"/>
</label>
<button type="submit">登入</button>
</form>
</div>
//js
export default {
name: 'App',
data(){
return {
user: {
username:'',
password:''
}
}
},
methods:{
submit(){
console.log(this.user);
}
}
}
修飾符
- 修飾符:.lazy/.number/.trim
.lazy
<span>使用者名稱</span>
<input type="text" v-model.lazy="user.username"/>
.number
<input type="password" v-model.number="user.password"/>
.trim
<input type="text" v-model.trim="user.username"/>
v-model
程式碼示例
//v-model實際上等價於v-bind:value和v-on:input
<input type="text" :value="user.username" @input="user.username=$event.target.value"/>
自定義input
<template>
<div class="red">
<input :value="value" @input="onInput"/>
</div>
</template>
<script>
export default {
name:'MyInput',
props:{
value:{
type:String
}
},
methods:{
onInput(e){
const value =e.target.value;
this.$emit('input',value)
}
}
}
</script>
<style scoped>
.red{
background: red;
display: inline-block;
}
</style>
//主檢視
<my-input :value="user.username" @input="user.username=$event"/>
import MyInput from './MyInput.vue';
export default {
components: { MyInput },
name: 'App',
data(){
return {
user: {
username:'',
password:0
}
}
}
}
總結
- v-model可以繫結一個變數
- v-model實際上等價於v-bind:value和v-on:input
- 當為原生元件時,v-on:input=“xxx= e v e n t . t a r g e t . v a l u e " , 當 為 自 定 義 組 件 時 , v − o n : i n p u t = " x x x = event.target.value",當為自定義元件時,v-on:input="xxx= event.target.value",當為自定義組件時,v−on:input="xxx=event”
ant-design-vue的使用
- 見官方文件ant-design-vue
- 簡單示例
<template>
<div id="app">
<a-input placeholder="Basic usage" />
</div>
</template>
<script>
export default {
name: 'App',
data(){
return {
user: {
username:'',
password:0
}
}
},
methods:{
submit(){
console.log(this.user);
}
}
}
</script>
import Vue from 'vue'
import App from './App.vue'
import AntD from 'ant-design-vue';
import 'ant-design-vue/dist/antd.css'; // or 'ant-design-vue/dist/antd.less'
Vue.config.productionTip = false
Vue.use(AntD);
new Vue({
render: h => h(App),
}).$mount('#app')
相關文章
- 表單和v-model
- Vue(10)表單輸入繫結v-modelVue
- Vue表單和元件Vue元件
- vue中v-model和.sync修飾符區別Vue
- Vue v-model語法糖Vue
- Vue JSX、自定義 v-modelVueJS
- 【Vue】6. v-model指令Vue
- vue3.0 v-model自定義元件實現,回顧vue2.x v-modelVue元件
- vue 動態繫結 v-modelVue
- vue v-model 雙向繫結Vue
- Vue 自定義元件使用 v-modelVue元件
- Vue2.0的v-model指令Vue
- vue元件繫結v-model指令Vue元件
- vue中v-model的學習Vue
- vue表單校驗方法Vue
- vue表單驗證 -- mmj-vue-vdVue
- vue原生指令v-model實現自定義樣式の多選與單選Vue
- 012---表單、下拉選單和表單域
- Vue 進階教程之:詳解 v-modelVue
- Vue自定義元件之v-model的使用Vue元件
- Vue資料驅動表單渲染,輕鬆搞定form表單VueORM
- vue框架之自定義元件中使用v-modelVue框架元件
- vue.js自定義元件上使用v-modelVue.js元件
- vue 如何在迴圈中繫結v-modelVue
- 【vue外掛篇】vue-form-check 表單驗證VueORM
- 極速上手 VUE 3—v-model 的使用變化Vue
- vue 實戰表單驗證規則Vue
- Vue.js表單輸入繫結Vue.js
- 封裝Vue Element的form表單元件封裝VueORM元件
- Blazor和Vue對比學習(基礎1.9):表單輸入繫結和驗證,VeeValidate和EditFromBlazorVue
- Vue用@input代替v-model實現資料繫結Vue
- 可以生成 Vue 自定義元件的 PHP 表單生成器,支援 IView 和 ElementUIVue元件PHPViewUI
- Vue+Element+JS動態生成form表單實現新增和刪除操作VueJSORM
- vue表單驗證你真的會了嗎?元件之表單驗證(form)validateVue元件ORM
- vue elementUI 表單校驗(多層巢狀)VueUI巢狀
- 基於vue自動化表單實踐Vue
- Ant Design Vue 表單元件未提及的方法Vue元件
- vue中怎麼動態生成form表單VueORM