responseFn에서 localStorage를 사용하는 법

셀렉트에서는 requestFn, responseFn 기능을 이용하여

sessionStorage나 localStorage에 저장하여 데이터를 받고 전달할 수 있습니다.

아래는 localStorage 예제입니다.

예제

menus:
  - path: custom-script
    name: custom-script
pages:
  - path: custom-script
    blocks:
      - type: query
        resource: mysql.qa
        sql: SELECT NOW()
        actions: 
          - label: 테스트키 발급
            single: true
            requestFn: |
              if (localStorage.TEST_KEY) {
                throw new Error('이미 키가 있습니다.')
              }
            
            type: query
            resource: mysql.qa
            sql: SELECT NOW()
            
            toast: 발급 완료

            responseFn: |
              localStorage.TEST_KEY = 1234
              alert(`신규 발급: ${ localStorage.TEST_KEY }`)

          - label: 테스트키 삭제
            single: true
            
            type: query
            resource: mysql.qa
            sql: SELECT NOW()
            
            toast: 삭제 완료

            responseFn: |
              delete localStorage.TEST_KEY

결과 페이지

테스트키 발급 시

테스트키 발급 버튼 다시 눌렀을 때

localStorage에 저장되어 이미 키가 있는 것으로 확인됩니다.

테스트키 삭제 시

삭제 후 다시 localStorage에 키를 저장할 수 있습니다.

image

1개의 좋아요

:+1: