# 按钮自定义配置

支持在面板、块、内容顶部配置自定义按钮

js 示例

export default {
    buttons: [
        {
            id: 'edit',
            name: '测试按钮',
            icon: 'reset',
            type: 'warning',  // primary/warning/danger/success
            loading: false,
            click (btnObj) {
                // btnObj: 当前按钮对象数据 {id:'reset', name...}
                // this作用域:不同位置的按钮作用域不一致
                // 1. 当前按钮为面板按钮:this作用域指向 components/frame/Panel/panelCode/index.vue 文件,可对所在面板及其的所有的块或内容进行搜索或刷新操作
                //      a)刷新面板:this.refresh()    // 会保留所有内容的搜索条件
                //      b)重置面板:this.reset()     // 重置所有内容的搜索条件
                //      c)搜索面板:this.search({ aa: 1 })    // 所有内容请求接口时会加入 aa: 1 的参数
                //      d)刷新块或内容:this.refresh(['block_AA', 'content_aa'])  // 其中AA为需要刷新块的编码,aa为需要刷新内容的编码
                //      e)重置块或内容:this.reset(['block_AA', 'content_aa'])  // 其中AA为需要重置块的编码,aa为需要重置内容的编码
                //      f)搜索块或内容:this.search({ aa: 1 }, ['block_AA', 'content_aa'])  // 其中AA为需要搜索块的编码,aa为需要搜索内容的编码
                // 2. 当前按钮为块按钮:this作用域指向 components/frame/Panel/panelBlock/index.vue 文件,可对所在块及其所在块的所有内容进行搜索或刷新操作
                //      方法名称及其传参同上
                // 3. 当前按钮为内容按钮:this作用域指向 components/frame/Panel/BlockContent/ContentItem,可对其内容进行搜索或刷新操作
                //      方法名称及其传参同上
            }
        }
    ],
    // ======================= 或者传入function ==================
    buttons () {
        return [
            {
                id: 'editPanel',
                icon: 'int-d',
                name: '测试',
                type: 'warning',
                click () {
                    this.init()
                    this.$message.warning('测试')
                }
            }
        ]
    }
}

# 按钮右侧文本

参考示例:

export default {
    btnFixedRightSlot () {
        return new Promise((resolve) => {
            let a = new Date()
            resolve (
                (h, context) => (
                    /** start-希望展示在页面上的内容的编写 */
                    <div class="primaryC">
                        {'这是按钮区右侧的插槽文本' + a}
                    </div>
                    /** end-希望展示在页面上的内容的编写 */
                )
            )
        })
    },
}

# 按钮下方文本

参考示例:

export default {
    btnNextLineSlot () {
        return new Promise((resolve) => {
            resolve (
                (h, context) => (
                    /** start-希望展示在页面上的内容的编写 */
                    <div class="primaryC">
                        这是按钮区下方的插槽文本
                    </div>
                    /** end-希望展示在页面上的内容的编写 */
                )
            )
        })
    },
}