小不点不在
小不点不在
  • 发布:2020-11-13 10:45
  • 更新:2021-02-03 17:06
  • 阅读:811

使用阿里小程序自定义组件无法传递事件

分类:uni-app

产品分类: uniapp/小程序/阿里

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 2.9.3

第三方开发者工具版本号: 1.15.6

基础库版本号: 1.1.7

项目创建方式: HBuilderX

操作步骤:

封装一个小程序的原生组件

<view>  
    <select size="large" onChange="onChange" dataSource="{{dataSource}}" style="width: 300" />  
</view>
import fmtEvent from "../utils/fmtEvent.js"  
Component({  
  mixins: [], // minxin 方便复用代码  
  data: {  
  }, // 组件内部数据  
  props: {  
      dataSource:[  
          {label:'option1', value:'option1'},  
          {label:'option2', value:'option2'},  
          {label:'disabled', value:'disabled11' ,disabled:true}],  
      placeholder:'请选择',  
      // disabled:false,  
      // value:'',  
      // defaultValue:'',  
      // mode:'single',  
      // hasClear:false,  
      // showSearch:false,  
      // hasSelectAll:false,  
      onChange:function onChange(){}  
      // state:'error'  
  }, // 可给外部传入的属性添加默认值  
  didMount(){  
  }, // 生命周期函数  
  didUpdate(){},  
  didUnmount(){},  
  methods: {   // 自定义方法  
    onChange(e) {  
      var event = fmtEvent(this.props,e)  
      console.log(event)  
      this.props.onChange(event)  
    },   
  },  
})

uni vue中引用组件

<view style="float:left;">  
       <all-select @change="onChange"></all-select>  
</view>

无法获取事件

onChange(e){  
    console.log(e)//打印undefind  
},

预期结果:

在vue中可以获取自定义组件中传来的事件

实际结果:

获取不到

bug描述:

使用自定义组件封装小程序原生组件,无法传递事件

2020-11-13 10:45 负责人:无 分享
已邀请:
DCloud_UNI_GSQ

DCloud_UNI_GSQ

DCloud_UNI_GSQ

DCloud_UNI_GSQ

HBuilderX 3.1.0 alpha 已支持使用 vue 事件监听方式

该问题目前已经被锁定, 无法添加新回复