账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    iview组件Dropdown设置点击事件无效
    14
    0

    刚开始不懂如何给Dropdown组件设置点击事件,后来根据搜索找到一篇博客,但是没有效果,贴一下代码:
    <Dropdown trigger="click" on-click="changeDate">

        <a href="javascript:void(0)" name="weekPlan" v-html='this.MenuText'>
            <Icon type="ios-arrow-down"></Icon>
        </a>
        <DropdownMenu slot="list">
            <DropdownItem name="weekPlan">本周</DropdownItem>
            <DropdownItem name="monthPlan">本月</DropdownItem>
            <DropdownItem name="yearPlan">本年</DropdownItem>
        </DropdownMenu>
    </Dropdown>

    data中定义了:
    MenuText: '本周',
    methods中定义了方法:
    changeDate (name) {

    alert('点击了' + name)
    if (name === 'weekPlan') {
      this.MenuText = '本周'
    } else if (name === 'monthPlan') {
      this.MenuText = '本月'
    } else {
      this.MenuText = '本年'
    }

    }
    能否帮忙找出错误,或者给出更好的解决方案

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • iview组件Dropdown的点击事件可能因为多种原因无效,以下是一些可能的原因和相应的解决方法:

      1. dropdown.opendropdown.closedropdown.openeddropdown.closing这些方法对应的值可能没有被正确设置。这些方法用于改变当前选中的选项,但是没有被正确的绑定到触发点击的事件上。你可以尝试在你的代码中添加相应的绑定和确认。

      2. 配置了dropdown.open的值可能没有被正确设置。这可能是因为你的dropdown.open的值是false,或者你的dropdown.open的值是null,这些都是错误的值。你可以尝试在你的代码中检查dropdown.open的值,确保它是正确的。

      3. 确保你的事件监听器正确。例如,如果你在你的代码中使用了v-model来绑定数据,那么你的事件监听器应该是this.$emit('click', this.data)。如果你的事件监听器使用了methods,那么你应该在你的事件监听器中添加this.$emit('click', this)

      4. 检查你的dom结构。确保你的Dropdown元素被正确地添加到DOM中,且在你希望触发点击的元素上。你可以在你的代码中添加一些DOM操作,如this.$refs.dropdown.show(),来检查你的Dropdown元素是否被正确地添加到DOM中。

      5. 检查你的v-for循环。你的v-for循环应该在你的Vue组件中正确地使用,确保你的v-for循环在你的Dropdown元素上正确地绑定了数据。你可以在你的代码中添加一些检查,如v-for="(item, index) in dropdown.items" :key="index",来检查你的v-for循环是否在你的Dropdown元素上正确地绑定了数据。

    更多回答
    扫一扫访问手机版