美文网首页
picker组件选择类型的功能

picker组件选择类型的功能

作者: 祈澈菇凉 | 来源:发表于2023-08-09 16:14 被阅读0次

    test.vue

    <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的值。

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

    相关文章

      网友评论

          本文标题:picker组件选择类型的功能

          本文链接:https://www.haomeiwen.com/subject/dyxapdtx.html