自定义详情页面,如何把当前页面的info数据传给弹窗层的详情页?

自定义详情页面,如何把当前页面的info数据传给弹窗层的详情页,不发生api请求呢 ?



已采纳
一顿大白兔
一顿大白兔
这家伙很懒,什么也没写~
7月前

我自己解决了

optButtons.push({
    render: 'tipButton',
    // name 是任意的
    name: 'info',
    // title 是语言翻译 key
    title: 'Info',
    text: '',
    type: 'warning',
    icon: 'fa fa-search-plus icon',
    class: 'table-row-info',
    disabledTip: false,
    click: (row, field) => {
        baTable.table.extend!.showInfo = true;
        baTable.table.extend!.infoLoading = true;
        setTimeout(() => {
            baTable.table.extend!.infoLoading = false;
            baTable.table.extend!.infoData = { row, field }; # 赋值到这里 以便info页面使用
        }, 1000);
    },
});
1个回答默认排序 投票数排序
钝角
钝角
尊嘟假嘟O.o?
7月前

在1.vue里边
baTable.table.extend!.a = any
index.vue已经实例化了,不用管

在2.vue里边
import type baTableClass from '/@/utils/baTable'
const baTable = inject('baTable') as baTableClass

console.log(baTable.table)

不过节省这一次请求没什么意义

一顿大白兔
一顿大白兔回复钝角
这家伙很懒,什么也没写~
7月前

我还是没有看懂,想问一下那么 1.vue 点击的数据如何传给 2.vue 呢 ?

钝角
钝角回复一顿大白兔
尊嘟假嘟O.o?
7月前

1.vue中已经实例化baTable了,然后请求数据到了baTable中。1.vue再引入2.vue,2.vue只要再实例化一下baTable就可以使用1.vue中的数据而不用请求了。
可能不太严谨,但我是这么认为的

一顿大白兔
一顿大白兔回复钝角
这家伙很懒,什么也没写~
7月前

这样根本不知道点击的那个数据的详情

钝角
钝角回复一顿大白兔
尊嘟假嘟O.o?
7月前

如果这样呢
在1.vue里边
baTable.table.extend!.clickrow = 获取点击行的数据

在2.vue里边
import type baTableClass from '/@/utils/baTable'
const baTable = inject('baTable') as baTableClass

console.log(baTable.table.clickrow)

一顿大白兔
一顿大白兔回复钝角
这家伙很懒,什么也没写~
7月前

click: (row: TableRow, field: TableColumn) => {
baTable.table.extend!.showInfo = true;
baTable.table.extend!.infoLoading = true;
setTimeout ( ( ) => {
baTable.table.extend!.infoLoading = false;
baTable.table.extend!.clickrow = { row, field };
}, 1000);
},

我这样写就可以了 效果就达到了 thanks

请先登录
0
1
3
7