中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue組件上如何使用v-model單選框

發布時間:2022-10-21 17:43:06 來源:億速云 閱讀:139 作者:iii 欄目:開發技術

本篇內容主要講解“Vue組件上如何使用v-model單選框”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Vue組件上如何使用v-model單選框”吧!

先給大家介紹下Vue組件上使用v-model之單選框的實例代碼。

子組件內容:

<template>
  <div>
    <input
      type="radio"
      :id="valueName"
      :value="valueName"
      :checked="picked === valueName"
      :picked="picked"
      @click="$emit('change', $event.target.value)"
    />
    <label :for="valueName">{{ valueName }}</label>
  </div>
</template>

<script>
export default {
  props: ["picked", "valueName"],
  model: {
    prop: "picked",
    event: "change",
  },
  computed: {},
  methods: {},
};
</script>

<style>
</style>

父組件內容:

<template>
  <div>
    <child-radio
      v-for="valueName in valueNames"
      :key="valueName"
      v-model="picked"
      :valueName="valueName"
    ></child-radio>
    顯示父組件單選的內容:{{ picked }} -->
  </div>
</template>

<script>
import ChildRadio from "./ChildRadio.vue";
export default {
  components: { ChildRadio },
  data() {
    return {
      picked: "", //
      valueNames: ["One", "Two", "Three"],
    };
  },
};
</script>

<style>
</style>

vue組件v-model

vue中數據數據流向

vue中數據流向是單向的,也就是說我們不能直接修改props中的值所以我們都會

<template>
    <div>
        <Renderer :data='data' @updateValue='updateValue'/>
    </div>
</template>
<script setup>
	我這里使用unplugin-auto-import所以不必導入ref
    import  Renderer from  "./components/Render.vue"
    let  data = ref('0');
    這樣的方式修改父組件給我們傳遞的值
    const  updateValue = (value) =>{
		data.value = value;
	}
</script>
<template>
    <div>
        <input type="text" v-model="content" @input="loadValue ">
    </div>
</template>

<script setup>
	const  emit =  defineEmits();
	let  content =  ref('');
	const  loadValue = () => {
		emit('updateValue', content.value);
	}
</script>

因為這中操作太頻繁了所以vue新增v-model:data='data&lsquo;這種方式修改父組件數據

<template>
    <div>
    	 第一個data是,如果需要修改,修改當前組件的那個值
        <Renderer v-model:data="data"/>
    </div>
</template>

<script setup>
    import  Renderer from  "./components/Render.vue"
    let  data = ref('0');
</script>
<template>
    <div>
        <input type="text" v-model="content" @input="updateValue">
    </div>
</template>

<script setup>
	let  content = ref('');
	const  emit =  defineEmits();
	const  updateValue = ()=>{
	emit('update:data', content.value);
	}
</script>

現在v-model可以自定義修飾符

	//vue2提供的修飾符
	v-model.trim(去掉兩端空格)
	v-model.number(只輸入number)
	v-model.lazy(change事件觸發)
<template>
    <div>
        <Renderer v-model:data.capitalize="data"/>
        {{data}}
    </div>
</template>

<script setup>
    import  Renderer from  "./components/Render.vue"
    let  data = ref('0');
</script>
<template>
    <div>
        <input type="text" v-model="content" @input="updateValue" />
    </div>
</template>

<script setup>
const props = defineProps({
    dataModifiers: Object
});
let content = ref('');
const emit = defineEmits();
const updateValue = () => {
    if (props.dataModifiers.capitalize) {
         content.value = content.value.charAt(0).toUpperCase() +  content.value.slice(1)
    }
    emit('update:data', content.value);
}
</script>

到此,相信大家對“Vue組件上如何使用v-model單選框”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

定西市| 缙云县| 乐清市| 腾冲县| 于田县| 甘泉县| 大渡口区| 宁远县| 四子王旗| 临夏县| 克什克腾旗| 定边县| 忻城县| 武清区| 晋中市| 惠水县| 米林县| 河津市| 漳浦县| 武平县| 泰来县| 吴江市| 诸城市| 永德县| 新野县| 本溪市| 洱源县| 公安县| 林甸县| 富宁县| 尤溪县| 循化| 当阳市| 新田县| 石嘴山市| 博乐市| 嘉禾县| 城市| 商河县| 读书| 巩义市|