前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >picker组件选择类型的功能

picker组件选择类型的功能

作者头像
王小婷
发布2023-08-11 15:56:48
1250
发布2023-08-11 15:56:48
举报
文章被收录于专栏:编程微刊编程微刊

test.vue

代码语言:javascript
复制
<template>
    <view>
        <view class="uni-list">
            <view class="title d-flex" style="width: 150rpx;">
                类型
            </view>
            <view class="uni-list-cell-db" style="display: inline-block;">
                <picker v-if="visitType !== 6 && visitType !== 7 && visitType !== 8" mode="selector" class="w-100 h-100 borderBottom flex-1 d-flex jc-start ai-center"
                 style="height:100rpx;font-size: 30rpx;color: #555;" @change="visitTypeChange" :range="visitTypeList" range-key="label"
                 v-model="visitType">
                    <view class="picker">{{ selectedText }}</view>
                </picker>
                <picker v-else mode="selector" class="w-100 h-100 borderBottom flex-1 d-flex jc-start ai-center" style="height:100rpx;font-size: 30rpx;color: #555;"
                 @change="visitTypeChange" :range="visitTypeList" range-key="label" v-model="visitType">
                    <view class="picker" v-if="visitType === 6">建筑</view>
                    <view class="picker" v-else-if="visitType === 7">设备</view>
                    <view class="picker" v-else-if="visitType === 8">管道</view>
                </picker>
            </view>
        </view>
    </view>
</template>
<script>
    export default {
        data() {
            return {

                visitTypeList: [{
                        value: 0,
                        label: '请选择类型'
                    },
                    {
                        value: 6,
                        label: '建筑',
                    },
                    {
                        value: 7,
                        label: '设备',
                    },
                    {
                        value: 8,
                        label: '管道'
                    }
                ],
                selectedText: '请选择类型',
                visitType: 0,
            }
        },

        onLoad(option) {

            // 在编辑模式下,将类型的值赋给 editVisitType
            this.visitType = 7; // 将 type 值赋给 visitType 变量
        },
        methods: {
            //类型
            visitTypeChange: function(e) {
                const {value} = e.detail;
                this.visitType = this.visitTypeList[value].value
                this.selectedText = this.visitTypeList[value].label
                console.log('picker发送选择改变,携带值为', this.visitType, this.selectedText)
            },
        },
    }
</script>

在模板(<template>)部分,有一个包含了两个picker组件的视图。根据visitType的值,决定了要显示哪个picker组件。 其中,第一个picker组件使用v-if条件来判断,如果visitType的值不是6、7、8,则显示一个普通的选择器,选项从visitTypeList中取得;第二个picker组件使用v-else条件,根据visitType的值分别显示不同的选项。

在<script>部分,定义了组件的数据部分。visitTypeList数组存储了所有可选类型的选项,每个选项包含value和label两个属性。selectedText用于显示当前选中的类型文本,初始值是"请选择类型"。visitType表示当前选中的类型的值,默认为0。

在onLoad生命周期钩子中,将visitType的值设置为7,这是在编辑模式下的一个示例。

在methods中定义了visitTypeChange方法,当用户选择了类型时会触发该方法。方法中通过e.detail获取选择器的值,然后根据值从visitTypeList中获取对应的类型值和文本,并更新visitType和selectedText的值。

这个组件可以用于在界面上选择不同的类型,并根据选择的类型进行相应的处理。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档