<script>
import attrSync from '../../../../Mixins/attrSync';
import BaseTmp from '../../_comm/BaseTmp';
export default {
    extends: BaseTmp,
    props: {
        /**
         * 选中数据的时候的回调
         */
        selectChange: {
            type: Function
        },
        /**
         * 取消按钮文案
         */
        cancelText: {
            type: String,
            default: '取消'
        },
        /**
         * 确定按钮文案
         */
        confirmText: {
            type: String,
            default: '确定'
        },
        /**
         * 标题名称
         */
        nameText: {
            type: String,
            default: ''
        },

        /**
         * 表头列表
         */
        listTitle: {
            type: Array
        },
        /**
         * 初始的选中数据
         */
        defaultValue: {
            type: Array
        },
        /**
         * 展示的列表
         */
        lists: {
            // type:
        },
        /**
         * 名称前缀列表
         */
        prefixs: {
            type: Array,
            default () {
                return [];
            }
        },
        /**
         * 名称后缀列表
         */
        suffixs: {
            type: Array,
            default () {
                return [];
            }
        },

        /**
         * 过滤名称的过滤器
         */
        filterName: {
            type: Function
        },
        /**
         * 过滤picker联动数据
         */
        filterLinkage: {
            type: [Function, Boolean]
        },
        /**
         * 列表数据发生改变时是否重置索引
         */
        isResetIndex: {
            type: Boolean,
            default: false
        }
    },
    mixins: [
        /**
         * 选中项的索引map
         */
        attrSync('activeIndexMap', {
            value: {
                type: Object,
                default () {
                    return {};
                }
            }
        }),
        /**
         * 初始化的列表的索引map
         */
        attrSync('initMap', {
            myValueInit(nowVal) {
                if (!nowVal) {
                    nowVal = {
                        0: true
                    };
                }
                return nowVal;
            }
        }),
        /**
         * 选中的列表
         */
        attrSync('selectList')
    ]
};
</script>
