wangrong
2026-10-08 60e71d7aac38a338ce2e0bd9dc5be57123926c58
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import { defineComponent, useModel } from 'vue';
import './index.scss';
 
export default defineComponent({
    name: 'cl-select-button',
 
    props: {
        modelValue: [String, Number, Array],
        options: Array,
        prop: String,
        small: Boolean
    },
 
    setup(props) {
        const value = useModel(props, 'modelValue');
 
        return () => {
            return (
                <el-segmented
                    class={[
                        'cl-select-button',
                        {
                            'is-small': props.small
                        }
                    ]}
                    modelValue={value.value}
                    onUpdate:modelValue={(val: string | number) => {
                        value.value = val;
                    }}
                    options={props.options}
                />
            );
        };
    }
});