본문 바로가기

개발

react 잘 모르는것들 정리

1. 패스워드 초기화 클릭시 "save" 버튼이 활성화 되고 save 버튼을 누르면 패스워드가 초기화 되도록 한다.

e.component?.cellValue(e.row?.rowIndex, 'password_reset', '1234');  
             <Column
               allowEditing={false}
               caption="패스워드 초기화"
               width={150}
               dataField="password_reset"
               fixed
               cellRender={(e) => {
               return (
                <div onClick={() => {
                  e.component?.cellValue(e.row?.rowIndex, 'password_reset', '1234');  
                }} >
                <img src="/images/redo.png" alt="Reset" style={{ width: '20px', height: '20px' }} />
               </div>
               );
               }}
                 >

             </Column>

MybatisMapper.xml에서 password_reset = "1234"로 받아감 

    <if test="password_reset != null">
        password=#{password_reset},
    </if>
 


e.component?.cellValue(e.row?.rowIndex, 'password_reset', '1234'); 이 코드는 DevExtreme DataGrid 또는 유사한 테이블/그리드 구성 요소에서 사용되는 것으로 보입니다. 이 코드는 특정 셀의 값을 설정하는 데 사용됩니다. 

각 부분의 의미를 분석해 보겠습니다:

e.component: 이것은 이벤트 핸들러에 전달된 이벤트 객체 e에서 DataGrid 컴포넌트를 참조합니다. 

e.component는 일반적으로 그리드의 인스턴스를 나타냅니다.
?. (옵셔널 체이닝 연산자): 이 연산자는 e.component가 null이나 undefined가 아닐 경우에만 뒤따르는 속성에 접근합니다. 만약 e.component가 null이나 undefined라면, 전체 표현식은 undefined를 반환하고, cellValue 메서드는 호출되지 않습니다.
cellValue 메서드: 이것은 DataGrid 컴포넌트의 메서드로, 특정 셀의 값을 가져오거나 설정하는 데 사용됩니다.
e.row?.rowIndex: 여기서 e.row는 현재 이벤트가 발생한 행을 나타냅니다. rowIndex는 이 행의 인덱스를 나타냅니다. 옵셔널 체이닝 연산자는 e.row가 null이나 undefined가 아닐 경우에만 rowIndex에 접근합니다.
'password_reset': 이것은 셀 값이 설정되거나 가져와질 컬럼의 이름입니다.
'1234': 이것은 password_reset 컬럼에 설정할 새로운 값입니다.

종합해보면, 이 코드는 e.row가 유효한 행을 가리키고, e.component가 유효한 DataGrid 인스턴스를 가리킬 때, 해당 행의 password_reset 컬럼의 값을 '1234'로 설정합니다. 이는 예를 들어, 사용자의 패스워드를 재설정하는 동작에서 사용될 수 있습니다.