antd中对Datepicker的日期组件进行选择后的格式化

 {
            // 提供中文数字
            let cnum = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖', '拾']
            function rp (n) {
              let s = ''
              n = `${n}` // 数字转为字符串
              for (let i = 0; i < n.length; i += 1) {
                s += cnum[parseInt(n.charAt(i), 10)]
              }
              if (s.length === 2) { // 两位数的时候
                // 如果个位数是0的时候,令改成十
                if (s.charAt(1) === cnum[0]) {
                  s = s.charAt(0) + cnum[10]
                  // 如果是一十改成十
                  if (s === cnum[1] + cnum[10]) {
                    s = cnum[10]
                  }
                } else if (s.charAt(0) === cnum[1]) {
                  // 如果十位数是一的话改成十
                  s = cnum[10] + s.charAt(1)
                }
              }
              return s
            }

            let str = value.format('YYYY-MM-DD')
            let arr = str.split('-') // 拆分字符串
            for (let i = 0; i < arr.length; i += 1) {
              arr[i] = rp(parseInt(arr[i], 10))
            }
            str = `${arr[0]}年${arr[1]}月${arr[2]}日`

            console.log('onOk: ', value)
            value = str // 这么解决
            this.setState({ gs: value })
          }}
          format={this.state.gs}
          // onOk={value => {
          //   console.log('onOk: ', value)
          //   value = '1123' // 这么解决
          //   this.setState({ gs: value })
          // }}
        />

 

你可能感兴趣的:(react)