vue input中展示JSON数据时格式化展示


      <el-form
        ref="taskDictForm"
        :model="taskDictForm"
        label-width="120px"
        :rules="taskDictFormRules"
      >
        <el-form-item label="任务参数" prop="taskParm">
          <el-input
            type="textarea"
            :rows="3"
            size="mini"
            style="width: 90%;"
            v-model="taskDictForm.taskParm"
            placeholder="JSON格式"
          ></el-input>
        </el-form-item>
      </el-form>
    editTaskDict(row) {
      this.taskDictForm = row
      if (row.taskParm) {
        try {
          let taskParm = JSON.parse(row.taskParm)
          this.taskDictForm.taskParm = JSON.stringify(taskParm, null, 4)
        } catch (err) {}
      }
      this.taskDictDialog = true
    }

展示出来就会是这样的:

 其中提交的时候保证存入数据库的是json格式的,加了rules校验

 

 出错了也要 callback 不然提交的时候返回的一直是false

    var validateJSON = (rule, value, callback) => {
      if (value) {
        try {
          JSON.parse(value)
        } catch (err) {
          callback(new Error('任务参数JSON格式有误'))
        }
        callback()
      }
    }
      taskDictFormRules: {
        taskParm: [{ validator: validateJSON, trigger: 'blur' }]
      }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM