BlockChecbox.js 977 Bytes
Newer Older
wanli's avatar
wanli committed
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
import { Tooltip, Icon } from "ant-design-vue";
import './index.less';

const BlockChecbox = {
    props: ["value", "list"],
    methods:{
        handleChange(key) {
            this.$emit('change', key);
        },
    },
    render(){
        const {value,list} = this
        return (
            <div class="blockChecbox" key={value}>
                {list.map(item => (
                <Tooltip title={item.title} key={item.key}>
                    <div class="item" onClick={() => this.handleChange(item.key)}>
                    <img src={item.url} alt={item.key} />
                    <div
                        class="selectIcon"
                        style={{ display: value === item.key ? 'block' : 'none', ...item.style}}
                    >
                        <Icon type="check"/>
                    </div>
                    </div>
                </Tooltip>
                ))}
            </div>
        )
    }
}

export default BlockChecbox;