ช่องทำเครื่องหมายเป็นองค์ประกอบทั่วไปที่เรามักใช้ใน UI เรามีวิธีเจ๋งๆ ในการแสดงช่องทำเครื่องหมายในปฏิกิริยาตอบสนอง
แพ็คเกจ react-native หลักไม่มีการรองรับช่องทำเครื่องหมาย และคุณต้องติดตั้ง apackage เพื่อใช้งาน
ต้องติดตั้งแพ็คเกจต่อไปนี้เพื่อแสดงช่องทำเครื่องหมาย -
npm install --save-dev react-native-paper
ส่วนประกอบช่องทำเครื่องหมายพื้นฐานมีดังนี้ -
<Checkbox status={checkboxstatus} onPress={onCheckboxCheckedfunc} />
ให้เราดูคุณสมบัติที่สำคัญบางอย่างในช่องกาเครื่องหมาย -
อุปกรณ์ประกอบฉาก | คำอธิบาย |
---|---|
สถานะ | ค่าที่สามารถกำหนดให้กับสถานะได้จะถูกตรวจสอบ ไม่ถูกตรวจสอบ และไม่แน่นอน |
ปิดการใช้งาน | ค่าเป็นบูลีน สามารถใช้เปิด/ปิดช่องทำเครื่องหมายได้ |
onPress | ฟังก์ชันที่จะเรียกเมื่อเลือกช่องทำเครื่องหมาย |
สี | สีที่จะกำหนดให้กับช่องทำเครื่องหมาย |
ยกเลิกการเลือกสี | สีของช่องทำเครื่องหมายในโหมดไม่เลือก |
นี่คือการแสดงช่องทำเครื่องหมายอย่างง่าย -
useState ใช้เพื่อกำหนดสถานะที่ตรวจสอบ ไม่ได้ตรวจสอบสำหรับช่องทำเครื่องหมายดังที่แสดงด้านล่าง -
const [checked, setChecked] = React.useState(false);
สถานะจะคงอยู่ภายในตัวแปรที่ตรวจสอบแล้ว และใช้เมธอด setChecked ในการอัปเดต
สถานะที่ตรวจสอบจะได้รับการอัปเดตเมื่อผู้ใช้ทำเครื่องหมาย/ยกเลิกการเลือกช่องทำเครื่องหมายดังที่แสดงด้านล่าง -
onPress={() => { setChecked(!checked); }}
รหัสที่สมบูรณ์มีดังนี้ −
ตัวอย่าง
import * as React from 'react'; import { StyleSheet, Text, SafeAreaView } from 'react-native'; import { Checkbox } from 'react-native-paper'; const MyComponent = () => { const [checked, setChecked] = React.useState(false); return ( <SafeAreaView style={styles.container}> <Checkbox status={checked ? 'checked' : 'unchecked'} onPress={() => { setChecked(!checked); }} color={'green'} uncheckColor={'red'} /> <Text>Checkbox</Text> </SafeAreaView> ); }; const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center' }, }); export default MyComponent;
ผลลัพธ์