当前位置: 首页 > news >正文

vue3 自定义组件 v-model 原理解析

1. input 中的 v-model

<!-- my-input.vue -->
<!-- props:value值必须用modelValue命名 -->
<!-- emits:方法必须用update:modelValue命名 -->
<script setup>const props = defineProps({modelValue: String,});let emits = defineEmits(["update:modelValue"]);const updateValue = (event) => {emits("update:modelValue", event.target.value);};
</script><template><div><input :value="props.modelValue" @input="updateValue" /><span>子组件:{{ props.modelValue }}</span></div>
</template>
<my-input v-model="value"></my-input>

2. naive-ui 组件二次封装 v-model

<!-- my-input.vue -->
<!-- props:value值必须用modelValue命名 -->
<!-- emits:方法必须用update:modelValue命名 -->
<script setup>
import { NInput } from "naive-ui";
const props = defineProps({modelValue: String,
});let emits = defineEmits(["update:modelValue"]);// 差别在这,直接value就是改变的值
const updateValue = (value) => {emits("update:modelValue", value);
};
</script><template><div><n-input :value="props.modelValue" @input="updateValue"></n-input><span>子组件:{{ props.modelValue }}</span></div>
</template>
<my-input v-model="value"></my-input>

http://www.lryc.cn/news/166852.html

相关文章:

  • 【Linux从入门到精通】线程 | 线程介绍线程控制
  • 2023Web前端面试题及答案(一)
  • Rabbitmq参数优化
  • typescript环境搭建,及tsc命令优化
  • suning苏宁API接入说明(苏宁商品详情+关键词搜索商品列表)
  • 类和对象(3)
  • C++下基于粒子群算法解决TSP问题
  • vue3 ElementUI Switch before-change自动调用问题
  • 【chromium】windows 获取源码到本地
  • Nacos-Go-Sdk代码逻辑解析
  • 检测opencv是否安装成功
  • 如果你是独立开发者,你是先写前端还是先写后端?
  • Pytorch intermediate(四) Language Model (RNN-LM)
  • C++零碎记录(十)
  • 人类学习 vs. 机器学习
  • 【LeetCode-中等题】15. 三数之和
  • Apache Tomcat漏洞复现
  • C++模版基础
  • 解决 Elasticsearch 分页查询记录超过10000时异常
  • 百度千帆大模型文心一言api调用
  • 关于HTTP协议的概述
  • ATFX汇市:8月名义与核心CPI走势分化,美国通胀率算升高还是降低?
  • c++ 中的函数指针
  • 奶牛个体识别 奶牛身份识别
  • 【力扣每日一题】2023.9.13 检查骑士巡视方案
  • 【Vue】关于CSS样式绑定整理
  • Sql语句大全--更新
  • Java面试八股文宝典:序言
  • 【多线程案例】单例模式
  • 阿里云部署SpringBoot项目启动后被杀进程的问题