<u-form :model="form" ref="uForm">
<u-form-item label="手机" prop="mobile">
<u-input v-model="form.mobile" class="u-border-bottom"/>
</u-form-item>
</u-form>
this.$refs.uForm.setRules(this.rules);
产品分类: uniapp/小程序/字节跳动
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 10.15.7
HBuilderX类型: Alpha
HBuilderX版本号: 3.1.22
第三方开发者工具版本号: 3.1.1
基础库版本号: 所有
项目创建方式: HBuilderX
<u-form :model="form" ref="uForm">
<u-form-item label="手机" prop="mobile">
<u-input v-model="form.mobile" class="u-border-bottom"/>
</u-form-item>
</u-form>
this.$refs.uForm.setRules(this.rules);
页面进入即报错
onReady() {
this.$refs.uForm.setRules(this.rules);
},
正常
Error in onReady hook: "TypeError: Cannot read property 'setRules' of undefined"
代码:
this.$refs.uForm.setRules(this.rules);
提示报错
Error in onReady hook: "TypeError: Cannot read property 'setRules' of undefined"
8 个回复
3***@qq.com
我也是这个问题,解决了没
l***@163.com
不知道自己是不是穿越了,忘记在哪里看到的说是要在onReady()里写this.$refs.uForm.setRules(this.rules);
自己后来遇到的时候在onReady()怎么写都报错"TypeError: Cannot read property 'setRules' of undefined"。
但是在mounted()里没问题。
9***@qq.com
没用啊,有解决方案了么,我直接创建hello uniapp的项目,里面的就没问题
2022-09-29 14:29
9***@qq.com
一样的问题,有解决方法了么
w***@163.com
求问,解决了吗?
4***@qq.com
都2023年了,这个问题还在,笑死人了 Error in onReady hook: "TypeError: Cannot read property 'setRules' of undefined"
x***@kq1997.net
俺也碰到这个问题了
YUANRJ
提供下测试工程
8***@qq.com
也碰到这问题
靐齉齾麤龖龗
不要取同组件名字相同的ref
2024-10-12 17:41
8***@qq.com
回复 靐齉齾麤龖龗: ref名称改了也还是一样报undefine
2024-10-14 09:38
靐齉齾麤龖龗
回复 8***@qq.com: 截图看看呢。。或者你把你的代码贴出来
2024-10-14 10:00
8***@qq.com
回复 靐齉齾麤龖龗:
const skuForm = ref()
const skuRules = ref({
price: {
rules: [
{ required: true, errorMessage: '请填写产品价格' },
{
validateFunction: function (rule: any, value: any, data: any, callback: any) {
if (value < productStore.product!.minPrice!) {
callback('所填价格低于最低起售价' +
${productStore.product!.minPrice!}元
)}
return true
},
},
],
},
})
onReady(() => {
skuForm.value.setRules(skuRules.value)
})
<uni-forms :model="skuInfo" ref="skuForm" :rules="skuRules" validate-trigger="blur">
<uni-forms-item label="价格" name="price">
<uni-easyinput v-model.number="skuInfo.price" type="number" placeholder="请填写产品价格" />
</uni-forms-item>
</uni-forms>
大致这样
2024-10-17 16:47
靐齉齾麤龖龗
回复 8***@qq.com: 你是哪个端的啊?是mac系统还是windows系统的呢?
2024-10-17 16:53
8***@qq.com
回复 靐齉齾麤龖龗: windows
2024-10-17 16:55
靐齉齾麤龖龗
回复 8***@qq.com: 编译到哪个端的呢
2024-10-17 16:58
8***@qq.com
回复 靐齉齾麤龖龗: 解决了,有些表单项的name没有写在rules里面,导致校验不起作用,虽然还是报setRules undefined,但补全后校验起效了
2024-10-17 17:02
8***@qq.com
回复 靐齉齾麤龖龗: 小程序
2024-10-17 17:03