vue elment-ui选择框select动态加载

遇到业务需要下拉选择框动态请求接口数据,element又没有提供动态加载api,就只能自己写了

代码

<template>
    <div>
        <el-select v-model="organization_id"
                   placeholder="请选择">
            <el-option v-for="(item) in oranizeList"
                       :key="item.value"
                       :label="item.label"
                       :value='item.title'>
            </el-option>
        </el-select>
    </div>
</template>
<script>
export default {
    data() {
        return {
            organization_id:[],
            oranizeList:[
                {
                    label:'阿塔尼斯',
                },{
                    label:'阿塔尼斯',
                },{
                    label:'阿塔尼斯',
                },{
                    label:'阿塔尼斯',
                },
                {
                    label:'阿塔尼斯',
                },
                {
                    label:'阿塔尼斯',
                },{
                    label:'阿塔尼斯',
                },{
                    label:'阿塔尼斯',
                },{
                    label:'阿塔尼斯',
                },{
                    label:'阿塔尼斯',
                },{
                    label:'阿塔尼斯',
                },{
                    label:'阿塔尼斯',
                },{
                    label:'阿塔尼斯',
                },{
                    label:'阿塔尼斯',
                },
            ]
        }
    },
    mounted() {
        this.elSelectSync(this.getOrganization)
    },
    methods: {
        elSelectSync(getData){
            const selectScrollDom = document.querySelector('.el-select-dropdown .el-select-dropdown__wrap')
            let func=getData;
            selectScrollDom.addEventListener('scroll', function () {
                if (this.scrollHeight-this.scrollTop<=this.offsetHeight) {
                //这里给你自己的业务逻辑
                    func();
                }
            });
        },
        getOrganization(){
            const _this=this
            setTimeout(function () {
                for(let i=0;i<10;i++){
                    _this.oranizeList.push({
                        label:'阿塔尼斯',
                    })
                }
            },0)
        }
    },
}
</script>
<style lang="scss" scoped>
</style>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue.js 中使用 Element-UI 实现下拉列表(通常称为 Select)的多选功能,Element UI 提供了一个名为 `el-select` 的组件,它可以方便地设置为多选模式。以下是基本步骤: 1. 引入依赖:首先确保在你的项目中已经安装了 Element UIVue,并且在组件中导入 `el-select` 和相关的样式。 ```html <template> <div> <el-select v-model="selectedValues" multiple placeholder="请选择"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" ></el-option> </el-select> </div> </template> ``` 2. 定义数据:在你的 Vue 实例中,定义一个数组 `selectedValues` 来存储用户选择的值,以及一个选项列表 `options`。 ```javascript export default { data() { return { selectedValues: [], // 存储选中的值 options: [ { value: 'option1', label: 'Option 1' }, { value: 'option2', label: 'Option 2' }, // 更多选项... ], }; }, }; ``` 3. 设置属性:`v-model` 绑定了 `selectedValues`,`multiple` 属性表示可多选,`placeholder` 则是默认提示文字。 4. 使用 `el-option`:对于每个选项,用 `v-for` 指令遍历 `options` 数组,`:value` 和 `:label` 分别绑定选项的值和标签。 当你在下拉列表中点击选项时,`selectedValues` 就会自动更新,显示或隐藏多选也会相应改变。如果需要进一步定制行为(如添加搜索功能、分页等),可以查阅 Element UI 的文档进行详细配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值