WePY框架中使用Vant-field微信小程序中无法输入,并且不能唤起键盘?

新手上路,请多包涵
<template>
    <van-field name='cpname' data-fieldName="name" label="商户名称:" bind:blur="handleFieldChange" />
    <van-field name='jyz' data-fieldName="jyz" label="经营者:" bind:blur="handleFieldChange" />

</template>

<script>
    import wepy from '@wepy/core';

    wepy.page({
        data: {
            cpname: '',
            jyz: ''
        },
        handleFieldChange(e) {
            // 获取是哪个van-field的回调
            let fieldName = e.currentTarget.dataset.fieldName
            // 获取输入框的新值
            let newValue = e.detail
            // 定义好要更新的data对象,
            let data = {}
            // 利用JS的对象的键名支持字符串形式的下标,自动给每个字段去更新,不用手写
            data[fieldName] = newValue
            this.setData(data)
        }
    })
</script>

<config>
    {
    "usingComponents": {
    "van-field": "module:@vant/weapp/dist/field/index",
    "van-button": "module:@vant/weapp/dist/button/index",
    "van-icon": "module:@vant/weapp/dist/icon/index",
    "van-image": "module:@vant/weapp/dist/image/index",
    "van-cell-group": "module:@vant/weapp/dist/cell-group/index",
    "van-cell": "module:@vant/weapp/dist/cell/index"
    }
    }
</config>

这段是代码,使用其他的比如van-cell这种组件是没有任何问题的,就是van-field不能唤起键盘而且也不可以输入任何东西

阅读 2.5k
1 个回答
<template>
    <van-field name='cpname' data-fieldName="name" label="商户名称:" value="{{cpname}}" @blur="handleFieldChange" />
    <van-field name='jyz' data-fieldName="jyz" label="经营者:" value="{{jyz}}" @blur="handleFieldChange" />
</template>

handleFieldChange :

handleFieldChange(e) {
    
    let fieldName = e.currentTarget.dataset.fieldName
    let newValue = e.detail
    // 更新数据
    this[fieldName] = newValue
    // 强制数据刷新
    this.$apply()
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进