uniapp如何自己实现写一个picker选择框?
网友回复
1、编写自定义组件myPickerView.vue
<template>
<view class="my-picker-view" v-show="value">
<uni-transition mode-class="slide-bottom" :show="value"
:styles="{'width':'100%','height':'100vh','position':'fixed','bottom':'0'}">
<view class="empty-box" @click="handleCancel"></view>
<view class="picker-box">
<view class="picker-top">
<view class="cancel" @click="handleCancel">取消</view>
<view class="title">{{ title }}</view>
<view class="submit" @click="handleSubmit">确定</view>
</view>
<picker-view :value="pickerValue" indicator-class="indicator" @change="handleChange"
@pickstart="pickstart" @pickend="pickend" :immediate-change="true">
<picker-view-column class="picker-content">
<view class="picker-item" v-for="(item, index) in options" :key="index">{{ item[rangeKey] }}</view>
</picker-view-column>
</picker-view>
</view>
</uni-transition>
</view>
</template>
<script>
export default {
name: "myPickerView",
data() {
return {
pickerValue: [0],
isScroll: false
}
},
props: {
value: Boolean,
options: Array,
title: {
type: String,
default: ""
},
rangeKey: {
type: String,
default: "label"
}
},
methods: {
// 确定
handleSubmit() {
if(!this.isScroll) {
this.$emit('input', false);
this.$emit("change", this.options[this.pickerValue[0]]);
}
},
// 取消
handleCancel() {
this.isScroll = false;
this.$emit('input', false)...点击查看剩余70%
qwen3-omni-flash-realtime实时音视频对话如何记住上下文聊天历史记录?
lmarena.ai如何内置html代码直接预览功能?
qwen3-omni-flash-realtime官方vad python示例代码实时语音聊天没有声音?
如何抵御自定义SSID信标帧攻击?
如果使用网页来搭建一个与gemini的视频聊天通话系统?
gemini如果调用mcp服务?
如何接入多模态ai的api例如gemini或qwen Omni实现ai视频面试打分并保存面试过程?
如何在win10上开发一个自己的拼音输入法?
列式json与传统json有啥不同,如何相互转换?
在哪可以查看任意域名网站的每天的流量?


