perf(select): 新增 select 下拉选择 change 事件, disabled 禁用状态
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<dd
|
||||
:value="value"
|
||||
:class="[selectItem.value === value ? 'layui-this' : '']"
|
||||
:class="[selectItem.value === value ? 'layui-this' : '',disabled ? 'layui-disabled':'']"
|
||||
@click="selectHandle"
|
||||
>
|
||||
{{ label }}
|
||||
@@ -10,22 +10,27 @@
|
||||
|
||||
<script setup name="LaySelectOption" lang="ts">
|
||||
import { SelectItem } from '../type'
|
||||
import { defineProps, inject } from 'vue'
|
||||
import { defineProps, inject, Ref } from 'vue'
|
||||
|
||||
const props = defineProps<{
|
||||
value?: string
|
||||
label?: string
|
||||
disabled?: boolean
|
||||
}>()
|
||||
|
||||
const selectItem = inject('selectItem') as SelectItem
|
||||
const openState = inject('openState') as Ref<boolean>
|
||||
|
||||
const selectHandle = function () {
|
||||
if(props.disabled) {
|
||||
return
|
||||
}
|
||||
openState.value = false
|
||||
selectItem.value = props.value
|
||||
selectItem.label = props.label
|
||||
}
|
||||
|
||||
// init selected
|
||||
|
||||
if (selectItem.value === props.value) {
|
||||
selectItem.value = props.value
|
||||
selectItem.label = props.label
|
||||
|
||||
Reference in New Issue
Block a user