更新记录

1.0.0(2024-03-26) 下载此版本

初始化


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.8.12 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

ly-dropdown

示例

<ly-dropdown v-model="dropdownModel" :navs="navs">
    <template #q="{ nav, option, label }">
        <view style="color: blue">{{ label }}</view>
    </template>
    <template #q-panel="{ nav }">
        <view>
            <view
                v-for="(item, index) in nav.data"
                :key="item.value"
                :style="{ background: nav.selected === item.value ? 'red' : null }"
                style="padding: 20rpx"
                @click="itemClick(item, nav)"
            >
                自定义插槽实现-{{ item.label }}
            </view>
        </view>
    </template>
    <template #quality="{ label }">
        <view>《{{ label }}》</view>
    </template>
</ly-dropdown>
export default {
    name: 'dropdown',
    data() {
        return {
            dropdownModel: {
                a: '',
                b: 't2',
                c: 't3'
            },
            navs: [
                { label: '测试', value: 'a', data: [], slotName: 'q' },
                { label: '价格', value: 'b', data: [] },
                { label: '质量', value: 'c', data: [], slotName: 'quality' }
            ]
        };
    },
    mounted() {
        this.testData();
        setTimeout(() => {
            this.dropdownModel.b = 't0';
        }, 3000);
    },
    methods: {
        itemClick(item, nav) {
            this.dropdownModel[nav.value] = item.value;
        },
        testData() {
            this.navs.find((item) => item.value === 'a').data = Array.from({ length: 20 }).map((_, index) => {
                const item = {
                    label: '测试--' + index,
                    value: 't' + index
                };
                return item;
            });
            this.navs.find((item) => item.value === 'b').data = Array.from({ length: 5 }).map((_, index) => {
                const item = {
                    label: '价格--' + index,
                    value: 't' + index
                };
                return item;
            });
            this.navs.find((item) => item.value === 'c').data = Array.from({ length: 5 }).map((_, index) => {
                const item = {
                    label: '质量--' + index,
                    value: 't' + index
                };
                return item;
            });
        }
    }
};

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问