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

做网站行情郑州微信网站开发

做网站行情,郑州微信网站开发,中国建设银行官网首页 网站首页,下载168网站1. 基础用法 在 Vue3 中#xff0c;v-model 在组件上的使用有了更灵活的方式。默认情况下#xff0c;v-model 使用 modelValue 作为 prop#xff0c;update:modelValue 作为事件。 1.1 基本示例 !-- CustomInput.vue -- templateinput:valuemo…1. 基础用法 在 Vue3 中v-model 在组件上的使用有了更灵活的方式。默认情况下v-model 使用 modelValue 作为 propupdate:modelValue 作为事件。 1.1 基本示例 !-- CustomInput.vue -- templateinput:valuemodelValueinput$emit(update:modelValue, $event.target.value)/ /templatescript setup defineProps([modelValue]) defineEmits([update:modelValue]) /script!-- 父组件使用 -- templateCustomInput v-modelsearchText / /templatescript setup import { ref } from vue const searchText ref() /script1.2 使用 computed 实现双向绑定 !-- CustomInput.vue -- templateinput v-modelinputValue / /templatescript setup import { computed } from vueconst props defineProps([modelValue]) const emit defineEmits([update:modelValue])// 使用计算属性实现双向绑定 const inputValue computed({get() {return props.modelValue},set(value) {emit(update:modelValue, value)} }) /script2. 自定义 v-model 名称 Vue3 允许我们在同一个组件上使用多个 v-model每个 v-model 可以有自己的名称。 2.1 单个自定义名称 !-- CustomField.vue -- templateinput:valuetitleinput$emit(update:title, $event.target.value)/ /templatescript setup defineProps([title]) defineEmits([update:title]) /script!-- 父组件使用 -- templateCustomField v-model:titlearticleTitle / /templatescript setup import { ref } from vue const articleTitle ref(默认标题) /script2.2 多个 v-model 绑定 !-- UserForm.vue -- templatediv classforminput:valuefirstNameinput$emit(update:firstName, $event.target.value)/input:valuelastNameinput$emit(update:lastName, $event.target.value)//div /templatescript setup defineProps([firstName, lastName]) defineEmits([update:firstName, update:lastName]) /script!-- 父组件使用 -- templateUserFormv-model:firstNameuser.firstNamev-model:lastNameuser.lastName/ /templatescript setup import { reactive } from vueconst user reactive({firstName: John,lastName: Doe }) /script3. v-model 修饰符 3.1 内置修饰符 !-- CustomInput.vue -- templateinput:valuemodelValueinput$emit(update:modelValue, $event.target.value)/ /templatescript setup defineProps({modelValue: String,modelModifiers: { default: () ({}) } }) /script!-- 父组件使用 -- templateCustomInput v-model.trimtext / /template3.2 自定义修饰符 !-- CustomInput.vue -- templateinput:valuemodelValueinputhandleInput/ /templatescript setup const props defineProps({modelValue: String,modelModifiers: { default: () ({}) } })const emit defineEmits([update:modelValue])const handleInput (event) {let value event.target.value// 检查是否应用了 capitalize 修饰符if (props.modelModifiers.capitalize) {value value.charAt(0).toUpperCase() value.slice(1)}emit(update:modelValue, value) } /script!-- 父组件使用 -- templateCustomInput v-model.capitalizetext / /template4. 实际应用示例 4.1 自定义数字输入组件 !-- NumberInput.vue -- templatediv classnumber-inputbutton clickdecrease-/buttoninputtypenumber:valuemodelValueinputhandleInput:stepstep/button clickincrease/button/div /templatescript setup const props defineProps({modelValue: {type: Number,required: true},step: {type: Number,default: 1},min: {type: Number,default: -Infinity},max: {type: Number,default: Infinity} })const emit defineEmits([update:modelValue])const handleInput (event) {const value Number(event.target.value)if (isValidValue(value)) {emit(update:modelValue, value)} }const increase () {const newValue props.modelValue props.stepif (isValidValue(newValue)) {emit(update:modelValue, newValue)} }const decrease () {const newValue props.modelValue - props.stepif (isValidValue(newValue)) {emit(update:modelValue, newValue)} }const isValidValue (value) {return value props.min value props.max } /script!-- 父组件使用 -- templateNumberInputv-modelquantity:step1:min0:max100/ /templatescript setup import { ref } from vue const quantity ref(1) /script4.2 颜色选择器组件 !-- ColorPicker.vue -- templatediv classcolor-pickerdivclasscolor-preview:style{ backgroundColor: modelValue }/divinputtypecolor:valuemodelValueinput$emit(update:modelValue, $event.target.value)/inputtypetext:valuemodelValueinputhandleInputplaceholder#000000//div /templatescript setup const props defineProps({modelValue: {type: String,default: #000000} })const emit defineEmits([update:modelValue])const handleInput (event) {const value event.target.value// 验证是否为有效的颜色值if (/^#[0-9A-Fa-f]{6}$/.test(value)) {emit(update:modelValue, value)} } /script!-- 父组件使用 -- templateColorPicker v-modelthemeColor / /templatescript setup import { ref } from vue const themeColor ref(#42b883) /script5. 最佳实践 命名规范 使用语义化的 prop 名称保持事件名称与 prop 名称的一致性使用 update: 前缀作为事件名称 类型检查 为 props 定义明确的类型在必要时添加自定义验证处理无效输入 值的验证 在更新值之前进行验证提供适当的错误反馈实现合理的默认值处理 性能优化 避免不必要的值更新使用计算属性优化复杂逻辑合理使用防抖和节流
http://www.w-s-a.com/news/137312/

相关文章:

  • 河间网站建设制作null wordpress theme
  • h5网站制作网站开发网站建设文翻译工作
  • 网站建设 税种秦皇岛哪有网站优化公司
  • 专业开发网站设计找人做网页需要多少钱
  • 手机购物网站 建站网站建设网站制作网站设计
  • 基于iview的网站开发模板小程序制作需要什么语言
  • 精美网站设计保定建行网站首页登录
  • 网站建设常见问题做网站保存什么格式最好
  • 营销型网站建设与网页设计网站建设 amp 找VX cp5173
  • 新网站该如何做网站优化呢儿童手工
  • 湖北现代城市建设集团网站搜索引擎优化的作用
  • 上海做网站吧开一家软件开发公司需要什么
  • 阿里巴巴网站建设改图片建设厅官方网站河南
  • 邓砚谷电子商务网站建设镇江网
  • 网站空间支持什么程序工作服款式
  • 网站单页品牌网站建设 蝌蚪5小
  • 怎么做外贸网站需注意哪些做电脑系统的网站
  • 网站建设介绍推广用语河南网站优化外包服务
  • 课程网站模板贵州省城乡与建设厅网站
  • 网站模板及源码谁家网站用户体验做的好
  • 做网站的技术要求搜索栏在wordpress菜单上位置
  • 如何给网站弄ftpwordpress怎么添加关键词描述
  • 成都工程建设信息网站金科网站建设
  • 传媒公司 网站开发厦门网站建设门户
  • 宿城区建设局网站做网站的绿色背景图
  • 网站空间托管合同 .doc网站开发团队 组建
  • 网站建设书本信息it运维服务
  • 四核网站建设设计网站流程
  • ui设计网站设计与网页制作视频教程wordpress插件漏洞利用
  • 网站建设公司排名前十做网站的最终目的