goSubmit(){ uni.navigateTo({ url:`/pages/equipmentInstall/install/form?form=${JSON.stringify(this.info)}` }) }, 另一个页面应该怎么结算
时间: 2024-02-14 13:08:58 浏览: 93
在另一个页面中,可以通过以下步骤来获取传递的参数并进行结算操作:
1. 在页面的 "onLoad" 生命周期中,可以通过 "options" 参数获取到从上一页传递过来的参数。
2. 对获取到的参数进行解析,可以使用 "JSON.parse" 方法将 JSON 字符串转换为 JavaScript 对象。
3. 对解析后的 JavaScript 对象进行相应的结算操作,可以将结果显示在页面上或者将结果传递给后台进行进一步处理。
以下是示例代码:
```
onLoad(options) {
const form = JSON.parse(options.form);
// 对获取到的 form 进行相应的结算操作
}
```
相关问题
小a优化这段代码://弹窗确定后取消培训 const dialogTrainingCancel = async () => { let sumbit = JSON.parse(JSON.stringify(form.data)); sumbit.trainStatus = 0; sumbit.workshopId = null; sumbit.workshopName = null; sumbit.productionLineId = null; sumbit.productionLineName = null; sumbit.postId = null; sumbit.postName = null; sumbit.certificationLevel = null; sumbit.trainStartTime = null; sumbit.trainEndTime = null; sumbit.trainingDays = null; sumbit.team = null; let resMsg = await personnelTrainUpdate(sumbit); if (afterSubmit(resMsg)) { uni.switchTab({ url: "/pages/tabPages/allPages/index", success:() =>{ uni.navigateTo({ url: "/pages/qualityPages/personnelTrain/index", }); } }) } }
可以优化的地方有:
1. 对 `form.data` 进行深拷贝可以使用更简洁的方式,如 `let sumbit = {...form.data};` 或 `let sumbit = Object.assign({}, form.data);`。
2. 对 `sumbit` 对象的多个属性进行赋值可以使用对象解构赋值,如 `let { trainStatus, workshopId, workshopName, ...rest } = sumbit;`。
3. 对 `sumbit` 对象的多个属性进行赋值可以使用对象解构赋值,如 `let { trainStatus, workshopId, workshopName, ...rest } = sumbit;`。
4. 对 `uni.switchTab` 和 `uni.navigateTo` 进行链式调用可以使用 `Promise.all`,如:
```
Promise.all([
uni.switchTab({ url: "/pages/tabPages/allPages/index" }),
uni.navigateTo({ url: "/pages/qualityPages/personnelTrain/index" })
]).then(() => {
// 成功的回调函数
}).catch(() => {
// 失败的回调函数
});
```
综上所述,可以将代码优化为:
```
const dialogTrainingCancel = async () => {
let sumbit = {...form.data};
let { trainStatus, workshopId, workshopName, ...rest } = sumbit;
let resMsg = await personnelTrainUpdate({...rest, trainStatus: 0, workshopId: null, workshopName: null});
if (afterSubmit(resMsg)) {
Promise.all([
uni.switchTab({ url: "/pages/tabPages/allPages/index" }),
uni.navigateTo({ url: "/pages/qualityPages/personnelTrain/index" })
]).then(() => {
// 成功的回调函数
}).catch(() => {
// 失败的回调函数
});
}
}
```
uni.navigateTo({ url: "/pages/fio/selectPage/index?item=" + encodeURIComponent(JSON.stringify(item)) });我还以拼接个参数fromBeneficial为true
uni.navigateTo() 是 UniApp (微信小程序) 中的一种导航函数,用于在小程序内跳转到另一个页面。在这个例子中,它将跳转到 `/pages/fio/selectPage/index` 页面,并传递两个查询参数:
1. `url` 属性包含具体的页面路径以及通过encodeURIComponent编码过的 JSON 字符串 `item`。encodeURIComponent 是为了保证URL中特殊字符(如空格、#等)不会破坏链接结构。
2. 后面添加了一个新的查询参数 `fromBeneficial`,值为布尔型,这里可能是字符串 "true",因为在 JavaScript 中,需要转换为字符串形式才能拼接到 URL 查询字符串中。通常,如果这个参数是一个变量,你可以直接使用 `&fromBeneficial=true` 进行拼接。
完整的语法可能会像这样:
```javascript
uni.navigateTo({
url: "/pages/fio/selectPage/index?item=" + encodeURIComponent(JSON.stringify(item)) + "&fromBeneficial=true"
});
```
阅读全文