feat: 完成申请审批选择器组件封装
This commit is contained in:
parent
871a935ecb
commit
b9230bc394
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="mx-4 p-2 rounded-2">
|
||||
<view class="bg-white mx-4 p-2 rounded-2">
|
||||
<Input
|
||||
:id="0"
|
||||
value="单行"
|
||||
@ -18,6 +18,22 @@
|
||||
@change="textareaChange"
|
||||
></Textarea>
|
||||
<wd-divider color="#bcbfbe"></wd-divider>
|
||||
<SelectPicker
|
||||
:value="1"
|
||||
:id="2"
|
||||
title="单选框"
|
||||
placeholder="单选"
|
||||
:columns="columns"
|
||||
></SelectPicker>
|
||||
<wd-divider color="#bcbfbe"></wd-divider>
|
||||
<SelectPicker
|
||||
:value="[0]"
|
||||
:id="3"
|
||||
title="多选框"
|
||||
placeholder="多选"
|
||||
type="checkbox"
|
||||
:columns="columns"
|
||||
></SelectPicker>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
@ -25,6 +41,22 @@
|
||||
<script setup lang="ts">
|
||||
import Input from '@/pages/approval/components/Input.vue'
|
||||
import Textarea from '@/pages/approval/components/Textarea.vue'
|
||||
import SelectPicker from '@/pages/approval/components/SelectPicker.vue'
|
||||
|
||||
const columns = ref<Record<number, any>>([
|
||||
{
|
||||
value: 0,
|
||||
label: '男装'
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
label: '奢侈品'
|
||||
},
|
||||
{
|
||||
value: 2,
|
||||
label: '女装'
|
||||
}
|
||||
])
|
||||
|
||||
const inputChange = e => {
|
||||
console.log('inputChange', e)
|
||||
|
||||
66
src/pages/approval/components/SelectPicker.vue
Normal file
66
src/pages/approval/components/SelectPicker.vue
Normal file
@ -0,0 +1,66 @@
|
||||
<template>
|
||||
<view class="px-2 text-3.5">
|
||||
<view class="flex flex-items-center pos-relative">
|
||||
<view v-if="required" class="color-#f62933 pos-absolute left--2 mt-1">*</view>
|
||||
<view>{{ title }}</view>
|
||||
</view>
|
||||
<view class="pt-2">
|
||||
<wd-select-picker
|
||||
:type="type"
|
||||
:title="placeholder"
|
||||
:show-confirm="type === 'checkbox'"
|
||||
v-model="picker"
|
||||
:columns="columns"
|
||||
size="large"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
const picker = ref(-1)
|
||||
|
||||
const props = defineProps({
|
||||
id: {
|
||||
type: Number,
|
||||
required: true
|
||||
},
|
||||
type: {
|
||||
type: String,
|
||||
default: 'radio'
|
||||
},
|
||||
required: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
placeholder: {
|
||||
type: String,
|
||||
default: '请输入'
|
||||
},
|
||||
value: {
|
||||
type: [Number, Array, null],
|
||||
default: null
|
||||
},
|
||||
columns: {
|
||||
type: Array,
|
||||
required: true
|
||||
}
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
if (props.value) {
|
||||
picker.value = props.value
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
:deep(.wd-select-picker__cell) {
|
||||
padding: var(--wot-cell-wrapper-padding, 10px) 0;
|
||||
background-color: transparent;
|
||||
}
|
||||
</style>
|
||||
Loading…
x
Reference in New Issue
Block a user