更新记录

1.0.1(2025-01-21) 下载此版本

1.0.1 组件初始化(支持json渲染表单,表单内容修改回传、必填项配置...)

1.0.0(2025-01-21) 下载此版本

1.0.0 组件初始化


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.1.0 × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

wangzy-dynamicForm

vue3 动态表单组件,基于 uniapp 开发,样式需要 sass 支持

组件说明

这是一个灵活的动态表单组件,支持多种输入类型,包括文本输入、选择器和日期时间选择等。

安装

在 uni_modules 目录下导入该组件。

基本使用

<template>
  <wangzy-dynamicForm :formConfig="formConfig" v-model:formData="formData" @onChange="handleChange" />
</template>

属性说明

属性名 类型 默认值 说明
formConfig Array [] 表单配置项数组
formData Object {} 表单数据对象
padding Number 0 表单内边距(rpx)
backgroundColor String '#fff' 表单背景色
layout String 'vertical' 布局方式,支持 'horizontal'/'vertical'
labelColor String '#333' 标签文字颜色

表单配置项说明

每个配置项支持以下属性:

{
  type: String,       // 输入类型:'input'/'select'/'datetime'
  field: String,      // 字段名
  label: String,      // 标签文本
  required: Boolean,  // 是否必填
  placeholder: String,// 占位文本
  disabled: Boolean,  // 是否禁用
  showClear: Boolean, // 是否显示清除按钮
  hidden: Boolean,    // 是否隐藏
  // input类型特有属性
  inputType: String,  // 输入框类型
  maxLength: Number,  // 最大长度
  // select类型特有属性
  options: Array,     // 选项数组
  rangeKey: String,   // 选项标签键名
  // datetime类型特有属性
  format: String,     // 日期格式,默认'yyyy-MM-dd'
  ranges: Array       // 时间选择范围
}

事件

事件名 说明 回调参数
onChange 表单值变化时触发 (field, value)

示例

const formConfig = [
  {
    type: 'input',
    field: 'name',
    label: '姓名',
    required: true,
    placeholder: '请输入姓名',
  },
  {
    type: 'select',
    field: 'gender',
    label: '性别',
    options: [
      { label: '男', value: 1 },
      { label: '女', value: 2 },
    ],
    placeholder: '请选择性别',
  },
  {
    type: 'datetime',
    field: 'birthday',
    label: '生日',
    format: 'yyyy-MM-dd',
    placeholder: '请选择日期',
  },
];

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问