iview的select组件clearable事件无效

 <Select size="small" v-model="confData.comId" placeholder="Select"
                        clearable @input="changeVal" @on-clear="clearComId">
                  <Option v-for="(task,i) in companies" :value="task.id" :key="task.id">
                    {{task.name}}
                  </Option>
                </Select>
                
                

可是页面上没有那个X
clipboard.png


computed: {
      companies () {
        let companies = []
        if (this.confData.taskConfigProcessId && this.confData.taskConfigProcessId !== null) {
          let data = this.$store.state.config.processes.find(item => {
            return item.id === this.confData.taskConfigProcessId
          })
          data = this.$store.state.config.comProcessAndRole.filter(item => {
            return item.id === data.comId
          })
          this.confData.comId = this.__utils.cloneDeep(data[0].id)
          companies = data
        } else {
          companies = this.$store.state.config.comProcessAndRole
        }
        return companies
      },
}



companies的JSON:

[{
"id": 23,
"name": "DW",
"allRoleList": [{
    "id": null,
    "comId": null,
    "configProcessId": null,
    "taskConfigId": null,
    "companyRoleId": 17,
    "companyRoleName": "美国操作",
    "createDate": null,
    "createUserId": null,
    "updateDate": null,
    "updateUserId": null
}...]},....]
阅读 7.7k
2 个回答

你companies数据结构是什么样的呢

使用官方的demo测试了下,确实清空事件没触发。可能是个BUG,不过 可以用另一个方法触发,使用watch监听值

watch: {
    'confData.comId'(val){
        if(!val){
            console.log('数据为空')
        } else {
            
        }
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题