本帖最后由 LukeLiu 于 2020-6-3 15:34 编辑
预计又一篇爆款贴诞生
如果路过的看客们在苦苦寻觅:如何在页面表格中实现通过输入的加减乘除表达式自动计算得出结果。此贴简直就是楼主给咱们的福利。
下一步,咱们可以考虑再完善完善,让它更好,比如:
比如:
- // 配置部分
- const TABLENAME = "表格1"
- const INPUT_COLUMNNMAE = "计算公式"
- const OUTPUT_COLUMNNAME = "COLUMN"
- const ERR_INFO = "输入错误"
- // 正则验证组
- const VERIFYURULES = [/^[+*/-]?\d+(\.*\d{0,2})/i]
- function getEvaluateResult(inputStr, verifyRules, errStr) {
- let verifyResults = verifyRules && verifyRules.map(rule => rule.test(inputStr))
- return verifyResults && verifyResults.every(i => i) ? eval(inputStr) : errStr
- }
- function getCurrentRowInput(listview, inputColumnName) {
- let currentRowindex = listview.getSelectedRowIndex()
- let cellStr = listview.getValue(currentRowindex, inputColumnName)
- return {currentRowindex, cellStr}
- }
- let listview = Forguncy.Page.getListView(TABLENAME)
- let {currentRowindex, cellStr} = listview && getCurrentRowInput(listview, INPUT_COLUMNNMAE)
- listview.setValue(currentRowindex, OUTPUT_COLUMNNAME, getEvaluateResult(cellStr, VERIFYURULES, ERR_INFO))
复制代码
效果展示:
|