微信小程序weui-form表单的使用

这篇具有很好参考价值的文章主要介绍了微信小程序weui-form表单的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. 引入:

app.json: "useExtendedLib":{ "weui": true }

使用页面or组件xxx.json文章来源地址https://www.toymoban.com/news/detail-554726.html

"usingComponents": {
     "mp-form": "weui-miniprogram/form/form"
  }
  1. wxml构建、
<view class="add-from" mut-bind:tap="empty">
    <mp-form id="addform" ref="addform" rules="{{dynamicRules}}" models="{{formData}}">
        <view class="uni-forms-item" required name="membersOf">
            <label for="membersOf">关系</label>
            <input value="{{formData.membersOf}}" bindinput="handInputChange" type="text" id="membersOf" name="membersOf" placeholder="请输入关系" />
        </view>
        <view class="uni-forms-item" required label="姓名" name="name">
            <label for="name">姓名</label>
            <input value="{{formData.name}}" bindinput="handInputChange" type="nickname" id="name" name="name" placeholder="请输入关系人姓名" />
        </view>
        <view class="uni-forms-item" required label="手机号码" name="phone">
            <label for="phone">手机号码</label>
            <input value="{{formData.phone}}" bindinput="handInputChange" type="text" id="phone" name="phone" placeholder="请输入手机号码" />
        </view>
        <view class="uni-forms-item" required label="身份证号码" name="cardId">
            <label for="cardId">身份证号码</label>
            <input value="{{formData.cardId}}" bindinput="handInputChange" type="idcard" id="cardId" name="cardId" placeholder="请输入身份证号码"/>
        </view>
    </mp-form>
    <button bindtap="submitForm" class="form-submit" type="primary">确定</button>
</view>
  1. js 部分
import {getMembersOfFamily,addMembersOfFamily} from '../../../utils/api'
import {checkIDCard} from '../../../utils/util'
Page({

    /**
     * 页面的初始数据
     */
    data: {
        formData: {
            cardId: '',
            membersOf:'',
            name:'',
            phone:''
        },
        dynamicRules: [
            {
                name: 'cardId',
                rules: [{required: true, errorMessage: '请输入身份证号码'}, {
                    validator: (rule: AnyObject,value: string) => {
                        if(checkIDCard(value)) {
                            return rule.message
                        }
                    }, message: '身份证号码格式不正确'
                }]
            },
            {
                name: 'membersOf',
                rules: [{required: true, errorMessage: '请输入所属关系'}, {maxLength: 10}]
            },
            {
                name: 'name',
                rules: [{required: true, errorMessage: '请输入所属姓名'}, {maxLength: 20}]
            },
            {
                name: 'phone',
                rules: [{required: true, errorMessage: '请输入所属手机号'},{mobile: true, message: '电话格式不对'}]
            }
        ]
    },
    // 简易双向数据绑定
    handInputChange (e:any) {
        this.setData({
            [`formData.${e.target.id}`]: e.detail.value
        })
    },
    submitForm () {
        this.selectComponent('#addform').validate((valid:Boolean, errors:any) => {
            if(valid) {
                // 验证通过
                return
                addMembersOfFamily({
                    ...this.data.formData
                }).then(res => {
                    if((res as AnyObject).code === 200) {
                        wx.showToast({
                            title: '新增成功',
                            icon: 'none'
                        })
                    
                        this.getMembers()
                    } else {
                        wx.showToast({
                            title: (res as AnyObject).msg,
                            icon: 'none'
                        })
                    }
                })
                
            } else {
                const firstError = Object.keys(errors)
                if(firstError.length) {
                    wx.showToast({
                        title: errors[firstError[0]].message,
                        icon: 'none'
                    })
                }
            }
        })
    },

    onShow() {
        this.getMembers()
    }

})

到了这里,关于微信小程序weui-form表单的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序weui的引入及使用

    提示:这种方式引入的组件将不计入代码包的大小 微信基础库在2.2.1 以上(包含)可以直接在app.json 里面配置就可以 在使用组件的页面的 json 文件加入 usingComponents 配置字段 引用 进入小程序项目根目录,执行命令 npm init 创建 package.json 文件 注意:一开始是没有的 package.js

    2024年02月03日
    浏览(37)
  • 微信小程序引入weui

    project.config.json 找到 packNpmManually 和 packNpmRelationList 修改成如下内容: 根目录下 app.wxss 引入 weui @import \\\'weui-miniprogram/weui-wxss/dist/style/weui.wxss\\\'; 4.引入需要使用的包 index.json  index.wxml  

    2024年02月10日
    浏览(38)
  • 微信小程序WeUI项目weui-miniprogram如何运行起来?

    微信小程序WeUI项目weui-miniprogram如何运行起来? 解决方法: 1、下载 https://github.com/wechat-miniprogram/weui-miniprogram 2、在项目根目录weui-miniprogram-master执行以下命令安装依赖: npm install 3、继续执行编译命令: npm run dev 生成miniprogram_dist目录如何使用可参考: 微信小程序WeUI项目weui-m

    2024年01月20日
    浏览(42)
  • 微信小程序前端引入weui组件库

    正在开发的微信小程序,想使用weui组件库。  步骤如下: 基础:1.小程序开发工具:1.06.22 以管理员身份运行命令行窗口(cmd)或使用VSCode进入终端,在cmd中进入项目的根目录。然后输入以下命令: npm init 后面一路按回车健即可,最终会在项目的根目录中创建出一个名为pa

    2024年02月11日
    浏览(51)
  • 【微信小程序】使用weui组件库来实现弹出一个确认的弹窗popup,其中包含图片和名称

    在微信小程序中,你可以使用weui组件库来实现弹出一个确认的popup,并在其中包含图片和名称。以下是一个示例代码: 在wxml文件中,添加一个按钮来触发弹出确认popup: 在wxss文件中,定义确认popup的样式: 在js文件中,编写相应的逻辑来显示和隐藏确认popup,并传递图片和名

    2024年02月17日
    浏览(35)
  • 【微信小程序】图片上传组件“mp-uploader“(weui)

       wxml    json    js    weui 是微信官方提供的一款小程序插件,是一套基于样式库 weui-wxss 开发的小程序扩展组件库,同微信原生视觉体验一致的UI组件库,由微信官方设计团队和小程序团队设计。官方文档:https://wechat-miniprogram.github.io/weui/docs/。   图片上传组件

    2024年02月11日
    浏览(34)
  • 微信小程序WeUI中half-screen-dialog底部弹窗相关问题

    需求: 如图需要从页面底部弹出一个弹框,弹框里的内容超出最大高度时,可以滚动。 问题: 原生的组件关闭图标在左侧,需要通过样式改到右侧 原生的组件底部有footer按钮区域,需要通过样式隐藏掉 在弹框里使用区域滚动通过scroll-view 设置纵向滚动并给最大高度 设置

    2024年02月04日
    浏览(34)
  • 微信小程序picker表单选择器的使用

    微信小程序picker表单选择器的使用 微信小程序picker表单选择器的使用 bindchange:当选择项改变时触发的方法 range:选项数组可以是二维数组 range-key:如果是二维数组时,用此属性指定第二维数组的键以达到在选择项中显示这个键对应的键值 value:是当前值是当前选中的数组的索

    2024年02月16日
    浏览(36)
  • 小程序表单校验uni-forms正确使用方式及避坑指南

    小程序上使用表单理应是很常用,也很必须的功能,因为系统实用了uni-app,所以这时候会用到uni-forms,但使用过程中遇到不少问题。 这边的需求有3个: 即时校验(输入框失焦立即校验值) 需自定义校验规则 需要异步校验 满足这3个需求,就能实现绝大部分表单校验,然而

    2024年01月18日
    浏览(41)
  • 【微信小程序】表单校验

    小程序开发过程中,很多地方要做表单校验,而小程序并不能像vue那样有专门的校验函数,只能自己手写做出类似的效果。 以修改密码为例,需要校验以下三个输入框: 原理: 利用输入框的 bindblur 方法,根据校验的条件判断来控制错误信息的显示隐藏 实现代码:

    2024年02月13日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包