钉钉小程序和微信小程序的使用区别:picker

本文探讨了微信小程序与钉钉小程序在picker组件上的差异。微信小程序的picker组件提供多种选择器类型,而钉钉小程序的picker则较为简单,主要为单列选择器。尽管钉钉缺少直接的日期和时间选择器,但可通过dd.datePicker接口实现。对于多列选择,钉钉小程序推荐使用picker view。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微信小程序组件的丰富和完善程度要远远高于钉钉小程序。

这里说说这两个小程序中 picker 组件的区别。

微信小程序

微信的 picker 组件通过 mode 参数可以设置为多种选择器类型。

在这里插入图片描述

对于不同的mode,picker拥有不同的属性。

钉钉小程序

相比之下,钉钉的 picker 选择器就单调的可怜。它没有 mode 去设置各种选择器,只能够设置为单列的选择器。

在这里插入图片描述

日期、时间选择器

虽然钉钉小程序不能通过 picker 直接设置日期和时间选择器,但是可以通过开放的接口 dd.datePicker 去打开日期选择列表。

dd.datePicker({
   
    format: 'yyyy-MM-dd',
    currentDate: '',
    success: (
### 实现微信小程序中的报销审批单填写功能 要在微信小程序中实现报销审批单的填写功能,可以通过以下方式完成: #### 1. 使用微信小程序表单组件构建界面 微信小程序提供了丰富的 UI 组件来帮助开发者快速搭建交互式的用户界面。对于报销审批单的功能实现,可以利用 `input`、`picker` `button` 等基础组件。 以下是简单的示例代码展示如何创建一个基本的报销审批单界面[^3]: ```html <!-- index.wxml --> <form bindsubmit="formSubmit"> <view class="section"> <text>申请人:</text> <input name="applicant" placeholder="请输入姓名"/> </view> <view class="section"> <text>金额:</text> <input type="number" name="amount" placeholder="请输入金额"/> </view> <view class="section"> <text>日期:</text> <picker mode="date" name="date" value="{{date}}" bindchange="bindDateChange"> <view>{{date}}</view> </picker> </view> <view class="section"> <text>备注:</text> <textarea name="remark" placeholder="请填写备注"></textarea> </view> <button formType="submit">提交</button> </form> ``` 对应的逻辑处理部分如下所示: ```javascript // index.js Page({ data: { date: '请选择日期' }, bindDateChange(e) { this.setData({ date: e.detail.value }); }, formSubmit(e) { const { applicant, amount, date, remark } = e.detail.value; if (!applicant || !amount || !date) { wx.showToast({ title: '请完善信息', icon: 'none' }); return; } console.log('Form Data:', e.detail.value); wx.showToast({ title: '提交成功', icon: 'success' }); } }); ``` 以上代码实现了基本的数据收集与验证流程,并通过事件绑定的方式捕获用户的输入数据[^4]。 --- #### 2. 数据存储与后端对接 为了保存用户填写的信息并进行后续审核操作,通常需要将这些数据发送到服务器上进行持久化存储。这一步骤涉及前后端联调工作,在前端需配置网络请求方法 (如使用 `wx.request`) 将表单数据传递给后台 API 接口[^5]。 假设存在这样一个 POST 请求用于上传数据,则可以在上述 JS 文件内的 `formSubmit()` 函数扩展如下内容: ```javascript formSubmit(e) { const { applicant, amount, date, remark } = e.detail.value; if (!applicant || !amount || !date) { wx.showToast({ title: '请完善信息', icon: 'none' }); return; } wx.showLoading({title:'正在提交'}); wx.request({ url: 'https://example.com/api/submitReimbursement', // 替换为实际接口地址 method: 'POST', header: {'content-type': 'application/json'}, data: JSON.stringify({ applicant, amount, date, remark }), success(res){ wx.hideLoading(); if(res.data.success){ wx.showToast({title:"提交成功",icon:"success"}); }else{ wx.showToast({title:`${res.data.message}`,icon:"error"}); } }, fail(){ wx.hideLoading(); wx.showToast({title:"网络错误,请稍后再试!",icon:"error"}); } }) } ``` 此片段展示了如何向远程服务发起 HTTPS 调用并将响应反馈至客户端显示状态消息[^6]。 --- #### 3. 审批流集成注意事项 如果涉及到复杂的业务逻辑比如多级领导逐层批准机制或者条件分支判断等功能模块时,则建议采用成熟的第三方平台解决方案(例如企业微信自带的工作台能力),而非完全依赖自定义开发途径解决所有问题[^7]。 另外值得注意的是,某些特定场景下可能无法直接获取官方提供的开放权限去调整内置插件行为特性——正如钉钉平台上所提到的情况那样[^8]。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值